Mercurial > dovecot > core-2.2
changeset 10345:93c87044469f HEAD
doveadm: Added global -v (verbose) and -D (debug) options.
Removed "doveadm <mail command> -v".
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 17 Nov 2009 18:12:34 -0500 |
parents | 3836c67fa5f1 |
children | f8e03cda78d9 |
files | src/doveadm/doveadm-mail.c src/doveadm/doveadm.c src/doveadm/doveadm.h |
diffstat | 3 files changed, 27 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail.c Tue Nov 17 14:39:31 2009 -0500 +++ b/src/doveadm/doveadm-mail.c Tue Nov 17 18:12:34 2009 -0500 @@ -181,7 +181,7 @@ } T_END; if (ret < 0) break; - if ((service_flags & MAIL_STORAGE_SERVICE_FLAG_DEBUG) != 0) { + if (doveadm_verbose) { if (++user_idx % interval == 0) { printf("\r%d / %d", user_idx, user_count); fflush(stdout); @@ -193,7 +193,7 @@ break; } } - if ((service_flags & MAIL_STORAGE_SERVICE_FLAG_DEBUG) != 0) + if (doveadm_verbose) printf("\n"); i_set_failure_prefix("doveadm: "); if (ret < 0) @@ -209,14 +209,14 @@ bool all_users = FALSE; int c; - while ((c = getopt(argc, argv, "av")) > 0) { + if (doveadm_debug) + service_flags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG; + + while ((c = getopt(argc, argv, "a")) > 0) { switch (c) { case 'a': all_users = TRUE; break; - case 'v': - service_flags |= MAIL_STORAGE_SERVICE_FLAG_DEBUG; - break; default: doveadm_mail_help(cmd); }
--- a/src/doveadm/doveadm.c Tue Nov 17 14:39:31 2009 -0500 +++ b/src/doveadm/doveadm.c Tue Nov 17 18:12:34 2009 -0500 @@ -10,6 +10,8 @@ #include <stdlib.h> #include <unistd.h> +bool doveadm_verbose = FALSE, doveadm_debug = FALSE; + static ARRAY_DEFINE(doveadm_cmds, struct doveadm_cmd); void doveadm_register_cmd(const struct doveadm_cmd *cmd) @@ -73,10 +75,13 @@ int main(int argc, char *argv[]) { const char *cmd_name; + int c; + /* "+" is GNU extension to stop at the first non-option. + others just accept -+ option. */ master_service = master_service_init("doveadm", MASTER_SERVICE_FLAG_STANDALONE, - &argc, &argv, "+"); + &argc, &argv, "+Dv"); i_array_init(&doveadm_cmds, 32); doveadm_mail_init(); doveadm_register_cmd(&doveadm_cmd_help); @@ -86,10 +91,19 @@ doveadm_register_cmd(&doveadm_cmd_pw); doveadm_register_cmd(&doveadm_cmd_who); - /* "+" is GNU extension to stop at the first non-option. - others just accept -+ option. */ - if (master_getopt(master_service) > 0) - usage(); + while ((c = master_getopt(master_service)) > 0) { + switch (c) { + case 'D': + doveadm_debug = TRUE; + doveadm_verbose = TRUE; + break; + case 'v': + doveadm_verbose = TRUE; + break; + default: + return FATAL_DEFAULT; + } + } if (optind == argc) usage();
--- a/src/doveadm/doveadm.h Tue Nov 17 14:39:31 2009 -0500 +++ b/src/doveadm/doveadm.h Tue Nov 17 18:12:34 2009 -0500 @@ -18,6 +18,8 @@ extern struct doveadm_cmd doveadm_cmd_pw; extern struct doveadm_cmd doveadm_cmd_who; +extern bool doveadm_verbose, doveadm_debug; + void doveadm_register_cmd(const struct doveadm_cmd *cmd); void usage(void);