Skip to content

Commit

Permalink
doveadm: Remove return value from ver2 cmd() - doveadm_exit_code is e…
Browse files Browse the repository at this point in the history
…nough
  • Loading branch information
cmouse authored and sirainen committed Feb 26, 2016
1 parent fb85193 commit cd75585
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 17 deletions.
5 changes: 2 additions & 3 deletions src/doveadm/client-connection-http.c
Expand Up @@ -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))
Expand Down Expand Up @@ -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();
Expand All @@ -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");
Expand Down
5 changes: 1 addition & 4 deletions src/doveadm/doveadm-cmd.c
Expand Up @@ -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)
{
Expand All @@ -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
Expand Down Expand Up @@ -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);
Expand Down
6 changes: 3 additions & 3 deletions src/doveadm/doveadm-cmd.h
Expand Up @@ -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 {
Expand Down Expand Up @@ -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);
Expand Down
8 changes: 4 additions & 4 deletions src/doveadm/doveadm-mail.c
Expand Up @@ -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[])
{
Expand Down Expand Up @@ -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);
Expand All @@ -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;
}
}

Expand All @@ -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;
}
7 changes: 4 additions & 3 deletions src/doveadm/doveadm-stats.c
Expand Up @@ -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;
Expand All @@ -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 */
Expand All @@ -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
Expand Down

0 comments on commit cd75585

Please sign in to comment.