diff options
author | nicm <nicm> | 2023-03-15 08:15:39 +0000 |
---|---|---|
committer | nicm <nicm> | 2023-03-15 08:15:39 +0000 |
commit | ac4bb89d4355a7a9bd2abe4cb27b31a445f7cd99 (patch) | |
tree | 07062e95a82e0e9aa01d6654e64a90f75af75454 /arguments.c | |
parent | 907f58cc3c2c76184dfd06129902b2147a2e4c5b (diff) |
Fix command prompt not to always append argument but only if there has
actually been expansion. GitHub issue 3493.
Diffstat (limited to 'arguments.c')
-rw-r--r-- | arguments.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/arguments.c b/arguments.c index 326fad17..df05d328 100644 --- a/arguments.c +++ b/arguments.c @@ -98,6 +98,22 @@ args_copy_value(struct args_value *to, struct args_value *from) } } +/* Type to string. */ +static const char * +args_type_to_string (enum args_type type) +{ + switch (type) + { + case ARGS_NONE: + return "NONE"; + case ARGS_STRING: + return "STRING"; + case ARGS_COMMANDS: + return "COMMANDS"; + } + return "INVALID"; +} + /* Get value as string. */ static const char * args_value_as_string(struct args_value *value) @@ -250,8 +266,8 @@ args_parse(const struct args_parse *parse, struct args_value *values, value = &values[i]; s = args_value_as_string(value); - log_debug("%s: %u = %s (type %d)", __func__, i, s, - value->type); + log_debug("%s: %u = %s (type %s)", __func__, i, s, + args_type_to_string (value->type)); if (parse->cb != NULL) { type = parse->cb(args, args->count, cause); @@ -796,6 +812,8 @@ args_make_commands(struct args_command_state *state, int argc, char **argv, } cmd = xstrdup(state->cmd); + log_debug("%s: %s", __func__, cmd); + cmd_log_argv(argc, argv, __func__); for (i = 0; i < argc; i++) { new_cmd = cmd_template_replace(cmd, argv[i], i + 1); log_debug("%s: %%%u %s: %s", __func__, i + 1, argv[i], new_cmd); |