dovecot: Fixes

dovecot at dovecot.org dovecot at dovecot.org
Tue Oct 9 22:48:12 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/68c8a6ddde12
changeset: 6544:68c8a6ddde12
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Oct 09 22:48:09 2007 +0300
description:
Fixes

diffstat:

1 file changed, 9 insertions(+), 5 deletions(-)
src/lib/istream-crlf.c |   14 +++++++++-----

diffs (24 lines):

diff -r 2d0b59aeb41a -r 68c8a6ddde12 src/lib/istream-crlf.c
--- 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 @@ static ssize_t i_stream_crlf_read(struct
 	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);


More information about the dovecot-cvs mailing list