diff options
author | Thomas Adam <thomas@xteddy.org> | 2021-09-02 10:01:09 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2021-09-02 10:01:09 +0100 |
commit | d776c9acfca7b4b224f19c7a504fcf9980038319 (patch) | |
tree | 0044216395db289815c133164e5d6f1f2e0a2ee5 /arguments.c | |
parent | d62aee506b9b9868b806319502f2b753cafe96ef (diff) | |
parent | 329c2c2a919d3c66b08672ff37af4e2393dc9a95 (diff) | |
download | rtmux-d776c9acfca7b4b224f19c7a504fcf9980038319.tar.gz rtmux-d776c9acfca7b4b224f19c7a504fcf9980038319.tar.bz2 rtmux-d776c9acfca7b4b224f19c7a504fcf9980038319.zip |
Merge branch 'obsd-master' into master
Diffstat (limited to 'arguments.c')
-rw-r--r-- | arguments.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arguments.c b/arguments.c index 5669df92..de3b14bf 100644 --- a/arguments.c +++ b/arguments.c @@ -302,10 +302,13 @@ args_copy(struct args *args, int argc, char **argv) struct args_value *value, *new_value; u_int i; + cmd_log_argv(argc, argv, "%s", __func__); + new_args = args_create(); RB_FOREACH(entry, args_tree, &args->tree) { - if (entry->count == 1) { - args_set(new_args, entry->flag, NULL); + if (TAILQ_EMPTY(&entry->values)) { + for (i = 0; i < entry->count; i++) + args_set(new_args, entry->flag, NULL); continue; } TAILQ_FOREACH(value, &entry->values, entry) { @@ -314,6 +317,8 @@ args_copy(struct args *args, int argc, char **argv) args_set(new_args, entry->flag, new_value); } } + if (args->count == 0) + return (new_args); new_args->count = args->count; new_args->values = xcalloc(args->count, sizeof *new_args->values); for (i = 0; i < args->count; i++) { |