Mercurial > dovecot > core-2.2
changeset 1010:3c30228ae095 HEAD
Missing ')' wasn't reported correctly.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 21 Jan 2003 23:43:23 +0200 |
parents | fb83ce2a26c3 |
children | cdfd647b0cbb |
files | src/lib-imap/imap-parser.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap/imap-parser.c Tue Jan 21 23:02:30 2003 +0200 +++ b/src/lib-imap/imap-parser.c Tue Jan 21 23:43:23 2003 +0200 @@ -508,6 +508,7 @@ return TRUE; } +/* ARG_PARSE_NONE checks that last argument isn't only partially parsed. */ #define IS_UNFINISHED(parser) \ ((parser)->cur_type != ARG_PARSE_NONE || \ (parser)->cur_list != parser->root_list) @@ -534,8 +535,13 @@ return -1; } else if ((!IS_UNFINISHED(parser) && count > 0 && parser->root_list->size >= count) || parser->eol) { - /* all arguments read / end of line. ARG_PARSE_NONE checks - that last argument isn't only partially parsed. */ + /* all arguments read / end of line. */ + if (parser->list_arg != NULL) { + parser->error = "Missing ')'"; + *args = NULL; + return -1; + } + if (count >= parser->root_list->alloc) { /* unused arguments must be NIL-filled. */ parser->root_list = LIST_REALLOC(parser,