summaryrefslogtreecommitdiff
path: root/mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c')
-rw-r--r--mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c b/mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c
new file mode 100644
index 000000000000..d9f82ee8d11e
--- /dev/null
+++ b/mail/dovecot-devel/files/patch-src::lib-imap::imap-parser.c
@@ -0,0 +1,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) {