From 33eab69ffe39c0d1a2f8d0fd188d05ca14a80d27 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 27 Feb 2022 20:21:30 +0100 Subject: [PATCH] lib-storage: Add mail_user_var_expand() --- src/lib-storage/mail-user.c | 9 +++++++++ src/lib-storage/mail-user.h | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index bcd397bfe7..b7eae3e3c8 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -146,6 +146,15 @@ mail_user_expand_plugins_envs(struct mail_user *user) } } +int mail_user_var_expand(struct mail_user *user, + const struct setting_parser_info *info, void *set, + const char **error_r) +{ + return settings_var_expand_with_funcs(info, set, + user->pool, mail_user_var_expand_table(user), + mail_user_var_expand_func_table, user, error_r); +} + int mail_user_init(struct mail_user *user, const char **error_r) { const struct mail_storage_settings *mail_set; diff --git a/src/lib-storage/mail-user.h b/src/lib-storage/mail-user.h index d695781aa1..cc9efbeff9 100644 --- a/src/lib-storage/mail-user.h +++ b/src/lib-storage/mail-user.h @@ -156,6 +156,11 @@ void mail_user_set_vars(struct mail_user *user, const char *service, /* Return %variable expansion table for the user. */ const struct var_expand_table * mail_user_var_expand_table(struct mail_user *user); +/* Expand %variables for the user. The settings values may be allocated from + user->pool. Returns the same as settings_var_expand_with_funcs(). */ +int mail_user_var_expand(struct mail_user *user, + const struct setting_parser_info *info, void *set, + const char **error_r); /* Specify the user's home directory. This should be called also when it's known that the user doesn't have a home directory to avoid the internal -- 2.47.3