]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Split off doveadm_mail_cmd_deinit()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 17 Aug 2021 08:06:36 +0000 (11:06 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 17 Aug 2021 11:48:20 +0000 (11:48 +0000)
src/doveadm/doveadm-mail.c
src/doveadm/doveadm-mail.h

index e6c512a4f7a5240da7e279005aef6211065c46ee..1aaf7c4984434ff4a23c5b0effa31f6d1d2835f6 100644 (file)
@@ -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);
index ff2c3ac165f256c18bb97c890481d2da93aaa907..af5d0fae3e3ccb5f894c7a7d56a8033342057bda 100644 (file)
@@ -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);