dovecot-2.0-sslstream: doveadm: Added global -v (verbose) and -D...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Feb 13 02:56:29 EET 2010
details: http://hg.dovecot.org/dovecot-2.0-sslstream/rev/93c87044469f
changeset: 10346:93c87044469f
user: Timo Sirainen <tss at iki.fi>
date: Tue Nov 17 18:12:34 2009 -0500
description:
doveadm: Added global -v (verbose) and -D (debug) options.
Removed "doveadm <mail command> -v".
diffstat:
3 files changed, 27 insertions(+), 11 deletions(-)
src/doveadm/doveadm-mail.c | 12 ++++++------
src/doveadm/doveadm.c | 24 +++++++++++++++++++-----
src/doveadm/doveadm.h | 2 ++
diffs (102 lines):
diff -r 3836c67fa5f1 -r 93c87044469f src/doveadm/doveadm-mail.c
--- 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 @@ doveadm_mail_all_users(doveadm_mail_comm
} 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 @@ doveadm_mail_all_users(doveadm_mail_comm
break;
}
}
- if ((service_flags & MAIL_STORAGE_SERVICE_FLAG_DEBUG) != 0)
+ if (doveadm_verbose)
printf("\n");
i_set_failure_prefix("doveadm: ");
if (ret < 0)
@@ -209,13 +209,13 @@ doveadm_mail_cmd(const struct doveadm_ma
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);
diff -r 3836c67fa5f1 -r 93c87044469f src/doveadm/doveadm.c
--- 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
@@ -9,6 +9,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+
+bool doveadm_verbose = FALSE, doveadm_debug = FALSE;
static ARRAY_DEFINE(doveadm_cmds, struct doveadm_cmd);
@@ -73,10 +75,13 @@ int main(int argc, char *argv[])
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 @@ int main(int argc, char *argv[])
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();
diff -r 3836c67fa5f1 -r 93c87044469f src/doveadm/doveadm.h
--- 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_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);
More information about the dovecot-cvs
mailing list