From: Timo Sirainen Date: Thu, 20 Mar 2003 17:06:23 +0000 (+0200) Subject: We didn't stop after reading literal size. This broke using non-synced X-Git-Tag: 1.1.alpha1~4798 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=091303c3130376fcb955e4eded8593f2a4455bec;p=thirdparty%2Fdovecot%2Fcore.git We didn't stop after reading literal size. This broke using non-synced literals with APPEND. --HG-- branch : HEAD --- diff --git a/src/lib-imap/imap-parser.c b/src/lib-imap/imap-parser.c index 20d44cd8c8..41a49028a6 100644 --- a/src/lib-imap/imap-parser.c +++ b/src/lib-imap/imap-parser.c @@ -560,8 +560,8 @@ int imap_parser_read_args(struct imap_parser *parser, unsigned int count, { parser->flags = flags; - while (count == 0 || parser->root_list->size < count || - IS_UNFINISHED(parser)) { + while (!parser->eol && (count == 0 || parser->root_list->size < count || + IS_UNFINISHED(parser))) { if (!imap_parser_read_arg(parser)) break; @@ -580,7 +580,7 @@ int imap_parser_read_args(struct imap_parser *parser, unsigned int count, } else if ((!IS_UNFINISHED(parser) && count > 0 && parser->root_list->size >= count) || parser->eol) { /* all arguments read / end of line. */ - i_stream_skip(parser->input, parser->cur_pos); + i_stream_skip(parser->input, parser->cur_pos); parser->cur_pos = 0; if (parser->list_arg != NULL) {