From: Timo Sirainen Date: Tue, 6 Apr 2010 23:46:11 +0000 (+0300) Subject: doveadm: Mail commands now take username as -u parameter and all with -A. X-Git-Tag: 2.0.beta5~183 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b90ac7f1d3145928bcbec77763cad75fdb8a0aa8;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Mail commands now take username as -u parameter and all with -A. If -u or -a isn't given, use the current user's settings (without userdb lookup). --HG-- branch : HEAD --- diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index c96095c43e..facc0f5d39 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -218,26 +218,30 @@ doveadm_mail_cmd(const struct doveadm_mail_cmd *cmd, int argc, char *argv[]) if (doveadm_debug) service_flags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG; - while ((c = getopt(argc, argv, "a")) > 0) { + username = getenv("USER"); + while ((c = getopt(argc, argv, "Au:")) > 0) { switch (c) { - case 'a': + case 'A': all_users = TRUE; break; + case 'u': + service_flags |= + MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP; + username = optarg; + break; default: doveadm_mail_help(cmd); } } + argv += optind; + if (!all_users) { - if (optind == argc) - doveadm_mail_help(cmd); - service_flags |= MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP; - username = argv[optind++]; doveadm_mail_single_user(cmd->cmd, username, service_flags, - (const char **)argv + optind); + (const char **)argv); } else { service_flags |= MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP; doveadm_mail_all_users(cmd->cmd, service_flags, - (const char **)argv + optind); + (const char **)argv); } } @@ -265,7 +269,7 @@ void doveadm_mail_usage(void) const struct doveadm_mail_cmd *cmd; array_foreach(&doveadm_mail_cmds, cmd) { - fprintf(stderr, USAGE_CMDNAME_FMT" |-a", cmd->name); + fprintf(stderr, USAGE_CMDNAME_FMT" [-u |-A]", cmd->name); if (cmd->usage_args != NULL) fprintf(stderr, " %s", cmd->usage_args); fputc('\n', stderr); @@ -274,7 +278,7 @@ void doveadm_mail_usage(void) void doveadm_mail_help(const struct doveadm_mail_cmd *cmd) { - fprintf(stderr, "doveadm %s |-a %s\n", cmd->name, + fprintf(stderr, "doveadm %s [-u |-A] %s\n", cmd->name, cmd->usage_args == NULL ? "" : cmd->usage_args); exit(0); }