const char *client_stats(struct client *client)
{
- const struct var_expand_table tab[] = {
+ const struct var_expand_table logout_tab[] = {
{ 'i', dec2str(i_stream_get_absolute_offset(client->input)), "input" },
{ 'o', dec2str(client->output->offset), "output" },
{ '\0', client->session_id, "session" },
{ '\0', dec2str(client->append_count), "appended" },
{ '\0', NULL, NULL }
};
+ 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;
const char *error;
str = t_str_new(128);
- if (var_expand(str, client->set->imap_logout_format, tab, &error) <= 0) {
+ if (var_expand_with_funcs(str, client->set->imap_logout_format,
+ tab, mail_user_var_expand_func_table,
+ client->user, &error) < 0) {
i_error("Failed to expand imap_logout_format=%s: %s",
client->set->imap_logout_format, error);
}