summaryrefslogtreecommitdiff
path: root/mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c
blob: d9f82ee8d11e1366dd0ae4968a1bc4d6eaba6387 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- src/lib-imap/imap-parser.c.orig	Wed Mar 12 06:05:57 2003
+++ src/lib-imap/imap-parser.c	Sun Apr 20 02:32:45 2003
@@ -451,7 +451,6 @@
 			imap_parser_save_arg(parser, data,
 					     (size_t)parser->literal_size);
 			parser->cur_pos = (size_t)parser->literal_size;
-			parser->eol = TRUE;
 			return TRUE;
 		}
 	} else {
@@ -560,8 +559,8 @@
 {
 	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 +579,7 @@
 	} 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) {