From: Timo Sirainen Date: Tue, 21 Sep 2010 13:55:22 +0000 (+0100) Subject: doveadm: Added iterate_single_user mail context field. X-Git-Tag: 2.0.4~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29f138b4b9bc037b21dfaa6b8e458943a99d5db2;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Added iterate_single_user mail context field. --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index 7d65b1f0f0..82fcc1cc44 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -366,7 +366,6 @@ doveadm_mail_cmd(const struct doveadm_mail_cmd *cmd, int argc, char *argv[]) MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT; struct doveadm_mail_cmd_context *ctx; const char *getopt_args, *username, *wildcard_user; - bool iter_single_user; int c; if (doveadm_debug) @@ -403,8 +402,9 @@ doveadm_mail_cmd(const struct doveadm_mail_cmd *cmd, int argc, char *argv[]) cmd->name, argv[0]); } - iter_single_user = !ctx->iterate_all_users && wildcard_user == NULL; - if (doveadm_print_is_initialized() && !iter_single_user) { + ctx->iterate_single_user = + !ctx->iterate_all_users && wildcard_user == NULL; + if (doveadm_print_is_initialized() && !ctx->iterate_single_user) { doveadm_print_header("username", "Username", DOVEADM_PRINT_HEADER_FLAG_STICKY | DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE); @@ -412,7 +412,7 @@ doveadm_mail_cmd(const struct doveadm_mail_cmd *cmd, int argc, char *argv[]) ctx->v.init(ctx, (const void *)argv); - if (iter_single_user) { + if (ctx->iterate_single_user) { doveadm_mail_single_user(ctx, username, service_flags); } else { service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP; diff --git a/src/doveadm/doveadm-mail.h b/src/doveadm/doveadm-mail.h index a6f82bcc80..0deb708301 100644 --- a/src/doveadm/doveadm-mail.h +++ b/src/doveadm/doveadm-mail.h @@ -48,6 +48,9 @@ struct doveadm_mail_cmd_context { ARRAY_DEFINE(module_contexts, union doveadm_mail_cmd_module_context *); + /* We're handling only a single user */ + unsigned int iterate_single_user:1; + /* We're going through all users (not set for wildcard usernames) */ unsigned int iterate_all_users:1; unsigned int failed:1; };