[evolution-data-server] I#16 - [IMAPx] BODYSTRUCTURE extension fields not skipped properly ][



commit d34338eed9e9a186e73cdee379bc22831ff343b2
Author: Milan Crha <mcrha redhat com>
Date:   Mon Jul 9 18:21:26 2018 +0200

    I#16 - [IMAPx] BODYSTRUCTURE extension fields not skipped properly ][
    
    Literals are read/skipped differently than other tokens.
    
    Related https://gitlab.gnome.org/GNOME/evolution-data-server/issues/16

 src/camel/providers/imapx/camel-imapx-utils.c | 6 ++++++
 1 file changed, 6 insertions(+)
---
diff --git a/src/camel/providers/imapx/camel-imapx-utils.c b/src/camel/providers/imapx/camel-imapx-utils.c
index 074bca045..3f3326464 100644
--- a/src/camel/providers/imapx/camel-imapx-utils.c
+++ b/src/camel/providers/imapx/camel-imapx-utils.c
@@ -1528,6 +1528,12 @@ imapx_parse_body (CamelIMAPXInputStream *stream,
                } else if (tok == ')' && nested_extension > 0) {
                        tok = 0; /* To not be used as the stop condition */
                        nested_extension--;
+               } else if (tok == IMAPX_TOK_LITERAL) {
+                       camel_imapx_input_stream_set_literal (stream, len);
+
+                       do {
+                               tok = camel_imapx_input_stream_getl (stream, &token, &len, cancellable, 
error);
+                       } while (tok > 0);
                }
        } while ((nested_extension > 0 || tok != ')') && tok != IMAPX_TOK_ERROR);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]