version 1.33, 2019/05/25 07:18:20 |
version 1.34, 2019/05/27 12:16:27 |
|
|
static enum cmd_retval |
static enum cmd_retval |
cmd_bind_key_exec(struct cmd *self, struct cmdq_item *item) |
cmd_bind_key_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
struct args *args = self->args; |
struct args *args = self->args; |
key_code key; |
key_code key; |
const char *tablename; |
const char *tablename; |
struct cmd_parse_result *pr; |
struct cmd_parse_result *pr; |
|
char **argv = args->argv; |
|
int argc = args->argc; |
|
|
key = key_string_lookup_string(args->argv[0]); |
key = key_string_lookup_string(argv[0]); |
if (key == KEYC_NONE || key == KEYC_UNKNOWN) { |
if (key == KEYC_NONE || key == KEYC_UNKNOWN) { |
cmdq_error(item, "unknown key: %s", args->argv[0]); |
cmdq_error(item, "unknown key: %s", argv[0]); |
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
} |
} |
|
|
|
|
else |
else |
tablename = "prefix"; |
tablename = "prefix"; |
|
|
pr = cmd_parse_from_arguments(args->argc - 1, args->argv + 1, NULL); |
if (argc == 2) |
|
pr = cmd_parse_from_string(argv[1], NULL); |
|
else |
|
pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL); |
switch (pr->status) { |
switch (pr->status) { |
case CMD_PARSE_EMPTY: |
case CMD_PARSE_EMPTY: |
cmdq_error(item, "empty command"); |
cmdq_error(item, "empty command"); |