shared/options: store argc+argv in the OptionParser state struct

After writing the code to parse options in a bunch of places, I think
passing the argc+argv to various functions to query state is annoying.
It seems nicer to just stash them in the state struct once.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2026-03-26 10:31:23 +01:00
parent 5dd2ae14db
commit f4a5bf92e9
12 changed files with 72 additions and 73 deletions
+3 -3
View File
@@ -62,10 +62,10 @@ static int parse_argv(int argc, char *argv[]) {
assert(argc >= 0);
assert(argv);
OptionParser state = {};
OptionParser state = { argc, argv };
const char *arg;
FOREACH_OPTION(&state, c, argc, argv, &arg, /* on_error= */ return c)
FOREACH_OPTION(&state, c, &arg, /* on_error= */ return c)
switch (c) {
OPTION_COMMON_HELP:
return help();
@@ -88,7 +88,7 @@ static int parse_argv(int argc, char *argv[]) {
break;
}
char **args = option_parser_get_args(&state, argc, argv);
char **args = option_parser_get_args(&state);
if (strv_length(args) != 1)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),