diff options
author | nicm <nicm> | 2021-08-20 19:50:16 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-08-20 19:50:16 +0000 |
commit | 5f32b7d9613e9ef3f8198302379a42630323da6a (patch) | |
tree | 0a0b488496625e9da5cbc02c5a1271634568ecc3 /cmd-if-shell.c | |
parent | de94a344f61b0e4ef6459c11621be3c3d1683c9e (diff) | |
download | rtmux-5f32b7d9613e9ef3f8198302379a42630323da6a.tar.gz rtmux-5f32b7d9613e9ef3f8198302379a42630323da6a.tar.bz2 rtmux-5f32b7d9613e9ef3f8198302379a42630323da6a.zip |
Hide struct args behind a couple of accessor functions.
Diffstat (limited to 'cmd-if-shell.c')
-rw-r--r-- | cmd-if-shell.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/cmd-if-shell.c b/cmd-if-shell.c index f4c81074..df06a0b6 100644 --- a/cmd-if-shell.c +++ b/cmd-if-shell.c @@ -65,21 +65,20 @@ cmd_if_shell_exec(struct cmd *self, struct cmdq_item *item) struct cmd_find_state *target = cmdq_get_target(item); struct cmdq_state *state = cmdq_get_state(item); struct cmd_if_shell_data *cdata; - char *shellcmd, *cmd, *error; - const char *file; + char *shellcmd, *error; + const char *cmd = NULL, *file; struct client *tc = cmdq_get_target_client(item); struct session *s = target->s; struct cmd_parse_input pi; enum cmd_parse_status status; + u_int count = args_count(args); - shellcmd = format_single_from_target(item, args->argv[0]); + shellcmd = format_single_from_target(item, args_string(args, 0)); if (args_has(args, 'F')) { if (*shellcmd != '0' && *shellcmd != '\0') - cmd = args->argv[1]; - else if (args->argc == 3) - cmd = args->argv[2]; - else - cmd = NULL; + cmd = args_string(args, 1); + else if (count == 3) + cmd = args_string(args, 2); free(shellcmd); if (cmd == NULL) return (CMD_RETURN_NORMAL); @@ -101,9 +100,9 @@ cmd_if_shell_exec(struct cmd *self, struct cmdq_item *item) cdata = xcalloc(1, sizeof *cdata); - cdata->cmd_if = xstrdup(args->argv[1]); - if (args->argc == 3) - cdata->cmd_else = xstrdup(args->argv[2]); + cdata->cmd_if = xstrdup(args_string(args, 1)); + if (count == 3) + cdata->cmd_else = xstrdup(args_string(args, 2)); if (!args_has(args, 'b')) cdata->client = cmdq_get_client(item); |