From: Timo Sirainen Date: Wed, 15 Nov 2017 13:53:03 +0000 (+0200) Subject: lib-imap: imap_envelope_parse() - remove unnecessary data stack frame X-Git-Tag: 2.3.0.rc1~459 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c5c19b3b57c9edae9443c1796c875c4568ddf9d;p=thirdparty%2Fdovecot%2Fcore.git lib-imap: imap_envelope_parse() - remove unnecessary data stack frame imap_envelope_parse_args() isn't using data stack at all, so this unnecessarily complicates the code. It also prevents using datastack-pool as the pool parameter. --- diff --git a/src/lib-imap/imap-envelope.c b/src/lib-imap/imap-envelope.c index 389adeb5b9..da8ccdecfc 100644 --- a/src/lib-imap/imap-envelope.c +++ b/src/lib-imap/imap-envelope.c @@ -222,7 +222,6 @@ bool imap_envelope_parse(const char *envelope, struct istream *input; struct imap_parser *parser; const struct imap_arg *args; - char *error = NULL; int ret; input = i_stream_create_from_data(envelope, strlen(envelope)); @@ -238,18 +237,8 @@ bool imap_envelope_parse(const char *envelope, *error_r = "Empty envelope"; ret = -1; } else { - T_BEGIN { - if (!imap_envelope_parse_args - (args, pool, envlp_r, error_r)) { - error = i_strdup(*error_r); - ret = -1; - } - } T_END; - - if (ret < 0) { - *error_r = t_strdup(error); - i_free(error); - } + if (!imap_envelope_parse_args(args, pool, envlp_r, error_r)) + ret = -1; } imap_parser_unref(&parser);