]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Added global -v (verbose) and -D (debug) options.
authorTimo Sirainen <tss@iki.fi>
Tue, 17 Nov 2009 23:12:34 +0000 (18:12 -0500)
committerTimo Sirainen <tss@iki.fi>
Tue, 17 Nov 2009 23:12:34 +0000 (18:12 -0500)
Removed "doveadm <mail command> -v".

--HG--
branch : HEAD

src/doveadm/doveadm-mail.c
src/doveadm/doveadm.c
src/doveadm/doveadm.h

index ed7cecb4449d0d496817fcd09ce3a5cfcd37b13c..52df88a6e5eea9365162d255b25a87218db2b850 100644 (file)
@@ -181,7 +181,7 @@ doveadm_mail_all_users(doveadm_mail_command_t *cmd,
                } 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_command_t *cmd,
                        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 @@ doveadm_mail_cmd(const struct doveadm_mail_cmd *cmd, int argc, char *argv[])
        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);
                }
index 52f0d96a17b18c9b775fefe3b04fa92936d6a62d..dc4ed09975c608e2a20be34f6f84a6c9cead85c3 100644 (file)
@@ -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 @@ static bool doveadm_try_run(const char *cmd_name, 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();
 
index 02eb93de0aa89f6265f7d40bd7ed367e5a385533..800d02732b2e90e6bb2a4c43c1cc2f89f93eacab 100644 (file)
@@ -18,6 +18,8 @@ extern struct doveadm_cmd doveadm_cmd_dump;
 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);