summaryrefslogtreecommitdiffstats
path: root/cmd-bind-key.c
diff options
context:
space:
mode:
authornicm <nicm>2021-08-27 17:25:55 +0000
committernicm <nicm>2021-08-27 17:25:55 +0000
commitdaec63e5e6eb3390d53f4bf7f8a327df77e46c95 (patch)
treecf78624cb0b4a80a6eeb8e29b368ea4f9beb5610 /cmd-bind-key.c
parentfd756a150b43d319d08ac4117f34edef9e0438c4 (diff)
Replace %% in command lists (by copying them) for template arguments ,
this means they can be used with {} as well. Also make argument processing from an existing vector preserve commands. GitHub issue 2858.
Diffstat (limited to 'cmd-bind-key.c')
-rw-r--r--cmd-bind-key.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index be0ae40e..dab03b01 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -58,8 +58,7 @@ 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;
- int argc, repeat;
+ int repeat;
struct args_value *value;
u_int count = args_count(args);
@@ -92,9 +91,8 @@ cmd_bind_key_exec(struct cmd *self, struct cmdq_item *item)
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);
+ pr = cmd_parse_from_arguments(args_values(args) + 1, count - 1,
+ NULL);
}
switch (pr->status) {
case CMD_PARSE_ERROR: