diff options
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); + } } } |