Merge branch 'mr/233'

This commit is contained in:
George Kadianakis 2020-12-08 16:54:18 +02:00
commit f280c171e2
2 changed files with 9 additions and 1 deletions

5
changes/argument_parse Normal file
View File

@ -0,0 +1,5 @@
o Minor features (command-line interface):
- When parsing command-line flags that take an optional argument,
treat the argument as absent if it would start with a '-' character.
Arguments in that form are not intelligible for any of our
optional-argument flags. Closes ticket 40223.

View File

@ -2601,8 +2601,11 @@ config_parse_commandline(int argc, char **argv, int ignore_errors)
parsed_cmdline_free(result); parsed_cmdline_free(result);
return NULL; return NULL;
} }
} else if (want_arg == ARGUMENT_OPTIONAL && is_last) { } else if (want_arg == ARGUMENT_OPTIONAL &&
/* optional arguments may never start with '-'. */
(is_last || argv[i+1][0] == '-')) {
arg = tor_strdup(""); arg = tor_strdup("");
want_arg = ARGUMENT_NONE; // prevent skipping the next flag.
} else { } else {
arg = (want_arg != ARGUMENT_NONE) ? tor_strdup(argv[i+1]) : arg = (want_arg != ARGUMENT_NONE) ? tor_strdup(argv[i+1]) :
tor_strdup(""); tor_strdup("");