diff options
author | vincent-richard <[email protected]> | 2021-05-11 06:31:03 +0000 |
---|---|---|
committer | vincent-richard <[email protected]> | 2021-05-11 06:31:03 +0000 |
commit | c86e4bcd3abf7130e8d3950ca6a3b496ca166107 (patch) | |
tree | 3c35418a38e0fe300589e12014629203e4f5f662 /src | |
parent | #200 Fixed installation directory (diff) | |
download | vmime-c86e4bcd3abf7130e8d3950ca6a3b496ca166107.tar.gz vmime-c86e4bcd3abf7130e8d3950ca6a3b496ca166107.zip |
#261 Workaround for bad SEARCH response with AOL IMAP server
Diffstat (limited to 'src')
-rw-r--r-- | src/vmime/net/imap/IMAPParser.hpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/vmime/net/imap/IMAPParser.hpp b/src/vmime/net/imap/IMAPParser.hpp index 59bab777..e71b403f 100644 --- a/src/vmime/net/imap/IMAPParser.hpp +++ b/src/vmime/net/imap/IMAPParser.hpp @@ -4252,8 +4252,18 @@ public: VIMAP_PARSER_GET_PUSHBACK(nz_number, search_nz_number_list); - while (VIMAP_PARSER_TRY_CHECK(SPACE)) { - VIMAP_PARSER_GET_PUSHBACK(nz_number, search_nz_number_list); + if (!parser.isStrict()) { + + // Allow extra SPACEs at end of line + while (VIMAP_PARSER_TRY_CHECK(SPACE)) { + VIMAP_PARSER_TRY_GET_PUSHBACK_OR_ELSE(nz_number, search_nz_number_list, { break; }); + } + + } else { + + while (VIMAP_PARSER_TRY_CHECK(SPACE)) { + VIMAP_PARSER_GET_PUSHBACK(nz_number, search_nz_number_list); + } } } |