}
void doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx,
- const char *username,
+ char *argv[], const char *username,
enum mail_storage_service_flags service_flags)
{
struct mail_storage_service_input input;
ctx->storage_service = mail_storage_service_init(master_service, NULL,
service_flags);
+ ctx->v.init(ctx, (const void *)argv);
if (hook_doveadm_mail_init != NULL)
hook_doveadm_mail_init(ctx);
}
static void
-doveadm_mail_all_users(struct doveadm_mail_cmd_context *ctx,
+doveadm_mail_all_users(struct doveadm_mail_cmd_context *ctx, char *argv[],
const char *wildcard_user,
enum mail_storage_service_flags service_flags)
{
lib_signals_set_handler(SIGINT, FALSE, sig_die, NULL);
lib_signals_set_handler(SIGTERM, FALSE, sig_die, NULL);
+ ctx->v.init(ctx, (const void *)argv);
if (hook_doveadm_mail_init != NULL)
hook_doveadm_mail_init(ctx);
DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE);
}
- ctx->v.init(ctx, (const void *)argv);
-
if (ctx->iterate_single_user) {
- doveadm_mail_single_user(ctx, username, service_flags);
+ doveadm_mail_single_user(ctx, argv, username, service_flags);
} else {
service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP;
- doveadm_mail_all_users(ctx, wildcard_user, service_flags);
+ doveadm_mail_all_users(ctx, argv, wildcard_user, service_flags);
}
ctx->v.deinit(ctx);
doveadm_print_flush();
struct doveadm_mail_cmd_context *
doveadm_mail_cmd_init(const struct doveadm_mail_cmd *cmd);
void doveadm_mail_single_user(struct doveadm_mail_cmd_context *ctx,
- const char *username,
+ char *argv[], const char *username,
enum mail_storage_service_flags service_flags);
int doveadm_mail_server_user(struct doveadm_mail_cmd_context *ctx,
struct mail_storage_service_user *user);