]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Remove return value from ver2 cmd() - doveadm_exit_code is enough
authorAki Tuomi <aki.tuomi@dovecot.fi>
Wed, 24 Feb 2016 09:19:11 +0000 (11:19 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 26 Feb 2016 11:47:25 +0000 (13:47 +0200)
src/doveadm/client-connection-http.c
src/doveadm/doveadm-cmd.c
src/doveadm/doveadm-cmd.h
src/doveadm/doveadm-mail.c
src/doveadm/doveadm-stats.c

index 044264def3ff5dd87442d8803f96d3d3dec30004..e16ad71403c14b89d9dab0ce62bf3a5e40061894 100644 (file)
@@ -272,7 +272,6 @@ static void
 doveadm_http_server_command_execute(struct client_connection_http *conn)
 {
         const struct doveadm_cmd_param *cpar;
-       int rc;
 
        /* final preflight check */
        if (!doveadm_client_is_allowed_command(conn->client.set, conn->cmd->name))
@@ -303,7 +302,7 @@ doveadm_http_server_command_execute(struct client_connection_http *conn)
        ioloop = io_loop_create();
        lib_signals_reset_ioloop();
        doveadm_exit_code = 0;
-       rc = conn->cmd->cmd(conn->cmd,pargc, cpar);
+       conn->cmd->cmd(conn->cmd,pargc, cpar);
 
        io_loop_set_current(prev_ioloop);
        lib_signals_reset_ioloop();
@@ -327,7 +326,7 @@ doveadm_http_server_command_execute(struct client_connection_http *conn)
                o_stream_nsend_str(conn->client.output,",");
        }
 
-       if (rc != 0 || doveadm_exit_code != 0) {
+       if (doveadm_exit_code != 0) {
                if (doveadm_exit_code == 0 || doveadm_exit_code == EX_TEMPFAIL)
                        i_error("doveadm(%s): Command %s failed", i_stream_get_name(conn->client.input), conn->cmd->name);
                doveadm_http_server_json_error(conn, "exitCode");
index 462d8d93a198ab0dd50fe8b2239fadcbd1d540ee..507cf4653eb7ad7372a245c41fc80d97c6805d8e 100644 (file)
@@ -297,7 +297,7 @@ doveadm_cmd_params_to_argv(const char *name, int pargc, const struct doveadm_cmd
        array_append_zero(argv);
 }
 
-int
+void
 doveadm_cmd_ver2_to_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
        int argc, const struct doveadm_cmd_param* param)
 {
@@ -312,8 +312,6 @@ doveadm_cmd_ver2_to_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
        pargv = array_get_modifiable(&nargv, &pargc);
        i_getopt_reset();
        cmd->old_cmd(pargc-1, (char**)pargv);
-
-       return 0;
 }
 
 static void
@@ -454,7 +452,6 @@ int doveadm_cmd_run_ver2(const struct doveadm_cmd_ver2 *cmd, int argc, const cha
 
        param = array_get_modifiable(&pargv, &pargc);
 
-       // FIXME: Unsure what do to with return value
        cmd->cmd(cmd, pargc, param);
 
        doveadm_cmd_params_clean(&pargv);
index 9c589c7da62fd8eb6a10f522279e61092d623f6f..c49e901a7848f41faab60b3249c8b3e9fd5c28db 100644 (file)
@@ -45,7 +45,7 @@ struct doveadm_cmd_param {
 };
 ARRAY_DEFINE_TYPE(doveadm_cmd_param_arr_t, struct doveadm_cmd_param);
 
-typedef int doveadm_command_ver2_t(const struct doveadm_cmd_ver2* cmd,
+typedef void doveadm_command_ver2_t(const struct doveadm_cmd_ver2* cmd,
        int argc, const struct doveadm_cmd_param[]);
 
 struct doveadm_cmd {
@@ -98,9 +98,9 @@ void doveadm_register_fs_commands(void);
 void doveadm_cmds_init(void);
 void doveadm_cmds_deinit(void);
 
-int doveadm_cmd_ver2_to_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
+void doveadm_cmd_ver2_to_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
        int argc, const struct doveadm_cmd_param[]);
-int doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
+void doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
        int argc, const struct doveadm_cmd_param argv[]);
 
 void doveadm_cmd_register_ver2(struct doveadm_cmd_ver2 *cmd);
index e58a1551e270bee557844fe980ee4310b0fca2d1..3cd8d83ab7adf1fcbcd8a131d4594f762984f136 100644 (file)
@@ -888,7 +888,7 @@ void doveadm_mail_deinit(void)
        array_free(&doveadm_mail_cmds);
 }
 
-int
+void
 doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
        int argc, const struct doveadm_cmd_param argv[])
 {
@@ -946,7 +946,8 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
                        if (ctx->cmd_input != NULL) {
                                i_error("Only one file input allowed: %s", argv[i].name);
                                doveadm_mail_cmd_free(ctx);
-                               return -1;
+                               doveadm_exit_code = EX_USAGE;
+                               return;
                        }
                        ctx->cmd_input = argv[i].value.v_istream;
                        i_stream_ref(ctx->cmd_input);
@@ -960,7 +961,7 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
                        doveadm_exit_code = EX_USAGE;
                        i_error("invalid parameter: %s", argv[i].name);
                        doveadm_mail_cmd_free(ctx);
-                       return -1;
+                       return;
                }
        }
 
@@ -970,5 +971,4 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(const struct doveadm_cmd_ver2* cmd,
 
        doveadm_mail_cmd_exec(ctx, wildcard_user);
        doveadm_mail_cmd_free(ctx);
-       return 0;
 }
index 3d9d708b916732c6fcec98c248223659c5b3cfbb..1c9d6ec38845c10f610701081296ee8885b3a18f 100644 (file)
@@ -115,7 +115,7 @@ static void stats_dump(const char *path, const char *cmd)
        i_stream_destroy(&input);
 }
 
-static int
+static void
 cmd2_stats_dump(const struct doveadm_cmd_ver2* dcmd ATTR_UNUSED, int argc, const struct doveadm_cmd_param *argv)
 {
        const char *path, *cmd;
@@ -126,7 +126,8 @@ cmd2_stats_dump(const struct doveadm_cmd_ver2* dcmd ATTR_UNUSED, int argc, const
 
        if (!doveadm_cmd_param_str(argc, argv, "type", &args[0])) {
                i_error("Missing type parameter");
-               return -1;
+               doveadm_exit_code = EX_USAGE;
+               return;
        }
 
        /* purely optional */
@@ -137,7 +138,7 @@ cmd2_stats_dump(const struct doveadm_cmd_ver2* dcmd ATTR_UNUSED, int argc, const
 
        doveadm_print_init(DOVEADM_PRINT_TYPE_TAB);
        stats_dump(path, cmd);
-       return 0;
+       return;
 }
 
 static void