changeset 22788:9cd980e23e5d

pop3: Include mail user variables in logout format
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Mon, 04 Dec 2017 11:01:31 +0200
parents 9e83365e368b
children 48a918c22fe5
files src/pop3/pop3-client.c
diffstat 1 files changed, 4 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/pop3/pop3-client.c	Mon Dec 04 11:01:05 2017 +0200
+++ b/src/pop3/pop3-client.c	Mon Dec 04 11:01:31 2017 +0200
@@ -540,22 +540,15 @@
 		{ 'd', !client->delete_success ? "0" :
 		       dec2str(client->deleted_size), "deleted_bytes" },
 	};
-	ARRAY(struct var_expand_table) tab;
 	const struct var_expand_table *user_tab =
 		mail_user_var_expand_table(client->user);
+	const struct var_expand_table *tab =
+		t_var_expand_merge_tables(logout_tab, user_tab);
 	string_t *str;
-	size_t n;
-
-	t_array_init(&tab, 32);
-	array_append(&tab, logout_tab, N_ELEMENTS(logout_tab));
-	/* count elements */
-	for(n = 0; user_tab[n].long_key != NULL; n++)
-		;
-	array_append(&tab, user_tab, n);
-	array_append_zero(&tab);
 
 	str = t_str_new(128);
-	var_expand(str, client->set->pop3_logout_format, array_idx(&tab, 0));
+	var_expand_with_funcs(str, client->set->pop3_logout_format, tab,
+			      mail_user_var_expand_func_table, client->user);
 	return str_c(str);
 }