summaryrefslogtreecommitdiffstats
path: root/cmd-bind-key.c
diff options
context:
space:
mode:
authornicm <nicm>2021-08-20 19:50:16 +0000
committernicm <nicm>2021-08-20 19:50:16 +0000
commit5f32b7d9613e9ef3f8198302379a42630323da6a (patch)
tree0a0b488496625e9da5cbc02c5a1271634568ecc3 /cmd-bind-key.c
parentde94a344f61b0e4ef6459c11621be3c3d1683c9e (diff)
Hide struct args behind a couple of accessor functions.
Diffstat (limited to 'cmd-bind-key.c')
-rw-r--r--cmd-bind-key.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index b4e4167c..87dd3cf7 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -48,12 +48,13 @@ cmd_bind_key_exec(struct cmd *self, struct cmdq_item *item)
key_code key;
const char *tablename, *note = args_get(args, 'N');
struct cmd_parse_result *pr;
- char **argv = args->argv;
- int argc = args->argc, repeat;
+ char **argv;
+ int argc, repeat;
+ u_int count = args_count(args);
- key = key_string_lookup_string(argv[0]);
+ key = key_string_lookup_string(args_string(args, 0));
if (key == KEYC_NONE || key == KEYC_UNKNOWN) {
- cmdq_error(item, "unknown key: %s", argv[0]);
+ cmdq_error(item, "unknown key: %s", args_string(args, 0));
return (CMD_RETURN_ERROR);
}
@@ -65,11 +66,14 @@ cmd_bind_key_exec(struct cmd *self, struct cmdq_item *item)
tablename = "prefix";
repeat = args_has(args, 'r');
- if (argc != 1) {
- if (argc == 2)
- pr = cmd_parse_from_string(argv[1], NULL);
- else
+ if (count != 1) {
+ if (count == 2)
+ pr = cmd_parse_from_string(args_string(args, 1), NULL);
+ else {
+ args_vector(args, &argc, &argv);
pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL);
+ cmd_free_argv(argc, argv);
+ }
switch (pr->status) {
case CMD_PARSE_EMPTY:
cmdq_error(item, "empty command");