From 8807ff0df48c5a19fec2a1f01dc0dac6d864b7b2 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 21 Nov 2022 20:45:21 +0200 Subject: [PATCH] lmtp: Duplicate the whole settings parser rather than individual settings structs This will be needed later on. --- src/lmtp/lmtp-client.c | 3 ++- src/lmtp/lmtp-settings.c | 6 +----- src/lmtp/lmtp-settings.h | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/lmtp/lmtp-client.c b/src/lmtp/lmtp-client.c index 103e4cf4ff..7e11997098 100644 --- a/src/lmtp/lmtp-client.c +++ b/src/lmtp/lmtp-client.c @@ -130,7 +130,8 @@ static void client_read_settings(struct client *client, bool ssl) &set_parser, &error) < 0) i_fatal("%s", error); - lmtp_settings_dup(set_parser, client->pool, &lmtp_set, &lda_set); + set_parser = settings_parser_dup(set_parser, client->pool); + lmtp_settings_get(set_parser, client->pool, &lmtp_set, &lda_set); const struct var_expand_table *tab = mail_storage_service_get_var_expand_table(storage_service, &input); if (settings_var_expand(&lmtp_setting_parser_info, lmtp_set, diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c index 7405b1f18b..a2ff0e3912 100644 --- a/src/lmtp/lmtp-settings.c +++ b/src/lmtp/lmtp-settings.c @@ -186,7 +186,7 @@ static bool lmtp_settings_check(void *_set, pool_t pool ATTR_UNUSED, } /* */ -void lmtp_settings_dup(const struct setting_parser_context *set_parser, +void lmtp_settings_get(const struct setting_parser_context *set_parser, pool_t pool, struct lmtp_settings **lmtp_set_r, struct lda_settings **lda_set_r) @@ -195,12 +195,8 @@ void lmtp_settings_dup(const struct setting_parser_context *set_parser, *lda_set_r = settings_parser_get_root_set(set_parser, &lda_setting_parser_info); - *lda_set_r = settings_dup(&lda_setting_parser_info, - *lda_set_r, pool); *lmtp_set_r = settings_parser_get_root_set(set_parser, &lmtp_setting_parser_info); - *lmtp_set_r = settings_dup(&lmtp_setting_parser_info, - *lmtp_set_r, pool); if (!lmtp_settings_check(*lmtp_set_r, pool, &error)) i_unreached(); } diff --git a/src/lmtp/lmtp-settings.h b/src/lmtp/lmtp-settings.h index 37cfba499e..5a35b489e2 100644 --- a/src/lmtp/lmtp-settings.h +++ b/src/lmtp/lmtp-settings.h @@ -44,7 +44,7 @@ struct lmtp_settings { extern const struct setting_parser_info lmtp_setting_parser_info; -void lmtp_settings_dup(const struct setting_parser_context *set_parser, +void lmtp_settings_get(const struct setting_parser_context *set_parser, pool_t pool, struct lmtp_settings **lmtp_set_r, struct lda_settings **lda_set_r); -- 2.47.3