summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2010-07-21 21:40:10 +0000
committerAurelien Jacobs <aurel@gnuage.org>2010-07-21 21:40:10 +0000
commita43416a54030f0cdf921ff4bd3e22bbe412ff603 (patch)
tree0edd455b27bf36cc0d7c96bd30ceb924bb84fdaf /libavformat
parent7c89295145559b269cf8e257b735386016ef1814 (diff)
improve ff_get_line to return line length
Originally committed as revision 24400 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/aviobuf.c5
-rw-r--r--libavformat/internal.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 264d2def41..5841966c9b 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -554,18 +554,19 @@ char *get_strz(ByteIOContext *s, char *buf, int maxlen)
return buf;
}
-void ff_get_line(ByteIOContext *s, char *buf, int maxlen)
+int ff_get_line(ByteIOContext *s, char *buf, int maxlen)
{
int i = 0;
char c;
do {
c = get_byte(s);
- if (i < maxlen-1)
+ if (c && i < maxlen-1)
buf[i++] = c;
} while (c != '\n' && c);
buf[i] = 0;
+ return i;
}
uint64_t get_be64(ByteIOContext *s)
diff --git a/libavformat/internal.h b/libavformat/internal.h
index 5833ef0229..b746c1dd5c 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -167,7 +167,7 @@ int ff_get_v_length(uint64_t val);
*/
void ff_put_v(ByteIOContext *bc, uint64_t val);
-void ff_get_line(ByteIOContext *s, char *buf, int maxlen);
+int ff_get_line(ByteIOContext *s, char *buf, int maxlen);
#define SPACE_CHARS " \t\r\n"