From 50274ca3b0d513a421dd2d5e6bb36daf48169891 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 4 Jul 2013 17:58:48 +0200 Subject: stream: make eof flag more consistent When reading something successfully, the eof flag should never be 1, so clear it in these situations. The eof flag will be set properly on the next read call. --- stream/stream.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'stream') diff --git a/stream/stream.c b/stream/stream.c index 13afb64f98..5d2ef46f96 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -432,6 +432,8 @@ int stream_read_partial(stream_t *s, char *buf, int buf_size) int len = FFMIN(buf_size, s->buf_len - s->buf_pos); memcpy(buf, &s->buffer[s->buf_pos], len); s->buf_pos += len; + if (len > 0) + s->eof = 0; return len; } @@ -445,7 +447,10 @@ int stream_read(stream_t *s, char *mem, int total) mem += read; len -= read; } - return total - len; + total -= len; + if (total > 0) + s->eof = 0; + return total; } // Read ahead at most len bytes without changing the read position. Return a -- cgit v1.2.3