From: Timo Sirainen Date: Tue, 17 Aug 2021 08:06:36 +0000 (+0300) Subject: doveadm: Split off doveadm_mail_cmd_deinit() X-Git-Tag: 2.3.17~193 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46a511412a142cfdbcd80aa2a617eab7fb7cd5e0;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Split off doveadm_mail_cmd_deinit() --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index e6c512a4f7..1aaf7c4984 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -662,10 +662,8 @@ doveadm_mail_cmd_exec(struct doveadm_mail_cmd_context *ctx, ctx->service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP; doveadm_mail_all_users(ctx, wildcard_user); } - if (ctx->search_args != NULL) - mail_search_args_unref(&ctx->search_args); doveadm_mail_server_flush(); - ctx->v.deinit(ctx); + doveadm_mail_cmd_deinit(ctx); doveadm_print_flush(); /* service deinit unloads mail plugins, so do it late */ @@ -675,6 +673,13 @@ doveadm_mail_cmd_exec(struct doveadm_mail_cmd_context *ctx, doveadm_exit_code = ctx->exit_code; } +void doveadm_mail_cmd_deinit(struct doveadm_mail_cmd_context *ctx) +{ + ctx->v.deinit(ctx); + if (ctx->search_args != NULL) + mail_search_args_unref(&ctx->search_args); +} + void doveadm_mail_cmd_free(struct doveadm_mail_cmd_context *ctx) { i_stream_unref(&ctx->users_list_input); diff --git a/src/doveadm/doveadm-mail.h b/src/doveadm/doveadm-mail.h index ff2c3ac165..af5d0fae3e 100644 --- a/src/doveadm/doveadm-mail.h +++ b/src/doveadm/doveadm-mail.h @@ -124,6 +124,7 @@ void doveadm_mail_deinit(void); struct doveadm_mail_cmd_context * doveadm_mail_cmd_init(const struct doveadm_mail_cmd *cmd, const struct doveadm_settings *set); +void doveadm_mail_cmd_deinit(struct doveadm_mail_cmd_context *ctx); void doveadm_mail_cmd_free(struct doveadm_mail_cmd_context *ctx); int doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx, const char **error_r);