changeset 22975:742e46f12d34

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.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 15 Nov 2017 15:53:03 +0200
parents 9ca23f52eb59
children 8e13b19ca89d
files src/lib-imap/imap-envelope.c
diffstat 1 files changed, 2 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-imap/imap-envelope.c	Mon May 14 15:46:01 2018 +0300
+++ b/src/lib-imap/imap-envelope.c	Wed Nov 15 15:53:03 2017 +0200
@@ -222,7 +222,6 @@
 	struct istream *input;
 	struct imap_parser *parser;
 	const struct imap_arg *args;
-	char *error;
 	int ret;
 
 	input = i_stream_create_from_data(envelope, strlen(envelope));
@@ -238,18 +237,8 @@
 		*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);