From: Aki Tuomi Date: Mon, 4 Dec 2017 09:01:05 +0000 (+0200) Subject: imap: Include mail user variables in logout format X-Git-Tag: 2.2.35~117 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1ecc087ee90439787de7df9b9a60e0d35b5dda07;p=thirdparty%2Fdovecot%2Fcore.git imap: Include mail user variables in logout format --- diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index 4530d1733b..9f3be9b6ae 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -247,21 +247,16 @@ const char *client_stats(struct client *client) { '\0', dec2str(client->autoexpunged_count), "autoexpunged" }, { '\0', dec2str(client->append_count), "appended" }, }; - 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->imap_logout_format, array_idx(&tab, 0)); + var_expand_with_funcs(str, client->set->imap_logout_format, + tab, mail_user_var_expand_func_table, + client->user); return str_c(str); }