Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6746:2259ec6c009a HEAD
Stating seekable stream didn't restore read conditions correctly. Also it
returned broken values with larger streams.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 08 Nov 2007 21:17:14 +0200 |
parents | 55853fd9d2cf |
children | 0cee1cccd14c |
files | src/lib/istream-seekable.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/istream-seekable.c Thu Nov 08 20:52:29 2007 +0200 +++ b/src/lib/istream-seekable.c Thu Nov 08 21:17:14 2007 +0200 @@ -272,13 +272,15 @@ we're finished */ old_offset = stream->istream.v_offset; do { - i_stream_skip(&stream->istream, stream->skip); + i_stream_skip(&stream->istream, + stream->pos - stream->skip); } while ((ret = i_stream_seekable_read(stream)) > 0); if (ret == 0) { i_panic("i_stream_stat() used for non-blocking " "seekable stream"); } + i_stream_skip(&stream->istream, stream->pos - stream->skip); i_stream_seek(&stream->istream, old_offset); }