static void cmd_copy_init(struct doveadm_mail_cmd_context *_ctx, const char *const args[]) { struct copy_cmd_context *ctx = (struct copy_cmd_context *)_ctx; const char *destname = args[0], *cmdname = ctx->move ? "move" : "copy"; if (destname == NULL || args[1] == NULL) doveadm_mail_help_name(cmdname); args++; if (args[0] != NULL && args[1] != NULL && strcasecmp(args[0], "user") == 0) { if ((_ctx->service_flags & MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP) == 0) i_fatal("Use -u parameter to specify destination user"); cmd_copy_alloc_source_user(ctx, args[1]); args += 2; } ctx->destname = p_strdup(ctx->ctx.pool, destname); _ctx->search_args = doveadm_mail_build_search_args(args); if (ctx->move) expunge_search_args_check(ctx->ctx.search_args, cmdname); }
static void cmd_expunge_init(struct doveadm_mail_cmd_context *ctx, const char *const args[]) { if (args[0] == NULL) doveadm_mail_help_name("expunge"); ctx->search_args = doveadm_mail_build_search_args(args); expunge_search_args_check(ctx->search_args, "expunge"); }