# HG changeset patch # User Timo Sirainen # Date 1034627811 -10800 # Node ID 9824d5df1843d802c47d8357adbd82b070c7a9c0 # Parent 08b99ae95f30728a459a29350ee1c1607d983500 use p_realloc() instead of p_realloc_min(). diff -r 08b99ae95f30 -r 9824d5df1843 src/lib-imap/imap-parser.c --- a/src/lib-imap/imap-parser.c Mon Oct 14 23:36:24 2002 +0300 +++ b/src/lib-imap/imap-parser.c Mon Oct 14 23:36:51 2002 +0300 @@ -22,8 +22,9 @@ OBuffer *outbuf; size_t max_literal_size; + ImapArg *args; unsigned int pos; - ImapArg *args; + unsigned int args_size; ArgParseType cur_type; size_t cur_pos; @@ -67,6 +68,7 @@ parser->pos = 0; parser->args = NULL; + parser->args_size = 0; parser->cur_type = ARG_PARSE_NONE; parser->cur_pos = 0; @@ -463,19 +465,17 @@ int imap_parser_read_args(ImapParser *parser, unsigned int count, ImapParserFlags flags, ImapArg **args) { - unsigned int args_size; - parser->flags = flags; - args_size = 0; while (count == 0 || parser->pos < count) { - if (parser->pos >= args_size) { - args_size = nearest_power(parser->pos); - if (args_size < 8) args_size = 8; + if (parser->pos >= parser->args_size) { + parser->args_size = nearest_power(parser->pos+1); + if (parser->args_size < 8) + parser->args_size = 8; parser->args = - p_realloc_min(parser->pool, parser->args, - args_size * sizeof(ImapArg)); + p_realloc(parser->pool, parser->args, + parser->args_size * sizeof(ImapArg)); } if (!imap_parser_read_arg(parser, &parser->args[parser->pos]))