Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6544:68c8a6ddde12 HEAD
Fixes
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 09 Oct 2007 22:48:09 +0300 |
parents | 2d0b59aeb41a |
children | 699c4c193ffc |
files | src/lib/istream-crlf.c |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/istream-crlf.c Tue Oct 09 17:30:07 2007 +0300 +++ b/src/lib/istream-crlf.c Tue Oct 09 22:48:09 2007 +0300 @@ -35,11 +35,15 @@ size_t i, dest, size; ssize_t ret; - ret = i_stream_read(cstream->input); - if (ret <= 0 && ret != -2) { - stream->istream.stream_errno = cstream->input->stream_errno; - stream->istream.eof = cstream->input->eof; - return ret; + data = i_stream_get_data(cstream->input, &size); + if (size <= stream->pos) { + ret = i_stream_read(cstream->input); + if (ret <= 0 && (ret != -2 || stream->skip == 0)) { + stream->istream.stream_errno = + cstream->input->stream_errno; + stream->istream.eof = cstream->input->eof; + return ret; + } } data = i_stream_get_data(cstream->input, &size);