Mercurial > dovecot > original-hg > dovecot-1.2
changeset 516:fc13fbca2fff HEAD
Header parser was still a bit wrong.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 25 Oct 2002 07:16:50 +0300 |
parents | f0e88a0751e5 |
children | ca99b1d7ceef |
files | src/lib-mail/message-parser.c |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-mail/message-parser.c Fri Oct 25 06:29:53 2002 +0300 +++ b/src/lib-mail/message-parser.c Fri Oct 25 07:16:50 2002 +0300 @@ -328,13 +328,18 @@ continue; } - if (ret < 0 || (ret == 0 && size == startpos)) { - /* EOF and nothing in buffer. the later check is - needed only when there's no message body */ - break; + if (size <= startpos) { + if (ret <= 0) { + /* EOF and nothing in buffer. the later check is + needed only when there's no message body */ + break; + } + + parse_size = size; + } else { + parse_size = size-1; } - parse_size = ret > 0 && size > 0 ? size-1 : size; for (i = startpos; i < parse_size; i++) { if (msg[i] == ':' && colon_pos == UINT_MAX) { colon_pos = i; @@ -400,7 +405,7 @@ } } - if (i < size) { + if (i < parse_size) { /* end of header */ startpos = i+1; break;