]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm help and without parameters now writes output to stdout, otherwise stderr.
authorTimo Sirainen <tss@iki.fi>
Fri, 28 May 2010 14:24:55 +0000 (15:24 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 28 May 2010 14:24:55 +0000 (15:24 +0100)
--HG--
branch : HEAD

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

index 3201ab77d0863a1fd9e66da9a4ff71893c515ea0..ac3db1f4787716ff33cf245f52cb7ed751dcde48 100644 (file)
@@ -446,15 +446,15 @@ void doveadm_mail_register_cmd(const struct doveadm_mail_cmd *cmd)
        array_append(&doveadm_mail_cmds, cmd, 1);
 }
 
-void doveadm_mail_usage(void)
+void doveadm_mail_usage(FILE *out)
 {
        const struct doveadm_mail_cmd *cmd;
 
        array_foreach(&doveadm_mail_cmds, cmd) {
-               fprintf(stderr, USAGE_CMDNAME_FMT" [-u <user>|-A]", cmd->name);
+               fprintf(out, USAGE_CMDNAME_FMT" [-u <user>|-A]", cmd->name);
                if (cmd->usage_args != NULL)
-                       fprintf(stderr, " %s", cmd->usage_args);
-               fputc('\n', stderr);
+                       fprintf(out, " %s", cmd->usage_args);
+               fputc('\n', out);
        }
 }
 
index bd629b5ba66088c5592a337bbf06dd096376496c..585da3945f43406543f9c626bf7fbed3c670b5d7 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef DOVEADM_MAIL_H
 #define DOVEADM_MAIL_H
 
+#include <stdio.h>
 #include "doveadm.h"
 #include "module-context.h"
 
@@ -56,7 +57,7 @@ extern struct doveadm_mail_cmd_module_register doveadm_mail_cmd_module_register;
 bool doveadm_mail_try_run(const char *cmd_name, int argc, char *argv[]);
 void doveadm_mail_register_cmd(const struct doveadm_mail_cmd *cmd);
 
-void doveadm_mail_usage(void);
+void doveadm_mail_usage(FILE *out);
 void doveadm_mail_help(const struct doveadm_mail_cmd *cmd) ATTR_NORETURN;
 void doveadm_mail_help_name(const char *cmd_name) ATTR_NORETURN;
 void doveadm_mail_try_help_name(const char *cmd_name);
index cc8f3aa0b0e9d2c6d3b2686d2a38f9e38fc6b490..737d1b577a4ba96eb449f35618f20d84a10f526b 100644 (file)
@@ -25,20 +25,26 @@ void doveadm_register_cmd(const struct doveadm_cmd *cmd)
        array_append(&doveadm_cmds, cmd, 1);
 }
 
-void usage(void)
+static void ATTR_NORETURN
+usage_to(FILE *out)
 {
        const struct doveadm_cmd *cmd;
 
-       fprintf(stderr, "usage: doveadm [-Dv] <command> [<args>]\n");
+       fprintf(out, "usage: doveadm [-Dv] <command> [<args>]\n");
 
        array_foreach(&doveadm_cmds, cmd) {
-               fprintf(stderr, USAGE_CMDNAME_FMT" %s\n",
+               fprintf(out, USAGE_CMDNAME_FMT" %s\n",
                        cmd->name, cmd->short_usage);
        }
-       doveadm_mail_usage();
+       doveadm_mail_usage(out);
        exit(1);
 }
 
+void usage(void)
+{
+       usage_to(stderr);
+}
+
 void help(const struct doveadm_cmd *cmd)
 {
        fprintf(stderr, "doveadm %s %s\n", cmd->name, cmd->short_usage);
@@ -80,7 +86,7 @@ static void cmd_help(int argc, char *argv[])
        int i;
 
        if (argv[1] == NULL)
-               usage();
+               usage_to(stdout);
 
        name = t_str_new(100);
        for (i = 1; i < argc; i++) {
@@ -94,7 +100,7 @@ static void cmd_help(int argc, char *argv[])
 
                str_append_c(name, ' ');
        }
-       usage();
+       usage_to(stdout);
 }
 
 static struct doveadm_cmd doveadm_cmd_help = {
@@ -239,7 +245,7 @@ int main(int argc, char *argv[])
        doveadm_load_modules();
 
        if (optind == argc)
-               usage();
+               usage_to(stdout);
 
        cmd_name = argv[optind];
        argc -= optind;