From: Zbigniew Jędrzejewski-Szmek Date: Tue, 28 Apr 2026 17:38:04 +0000 (+0200) Subject: Add "namespaces" to option macros, convert systemd-run+run0 (#41844) X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;p=thirdparty%2Fsystemd.git Add "namespaces" to option macros, convert systemd-run+run0 (#41844) --- 2e591bb1e7f76f31085da154a2dc35718ea70a83 diff --cc src/shared/options.c index 74f697edbe9,227ba8ffa35..01684fc1fce --- a/src/shared/options.c +++ b/src/shared/options.c @@@ -306,15 -388,19 +388,16 @@@ size_t option_parser_get_n_args(const O return state->argc - state->positional_offset; } -char* option_get_synopsis(const char *prefix, const Option *opt, const char *joiner, bool show_metavar) { +char* option_get_synopsis(const Option *opt, const char *joiner, bool show_metavar) { assert(opt); - assert(!FLAGS_SET(opt->flags, OPTION_GROUP_MARKER)); /* A group marker should not be displayed */ + assert(!(opt->flags & (OPTION_NAMESPACE_MARKER | + OPTION_GROUP_MARKER))); /* The markers should not be displayed */ - if (!prefix) - prefix = ""; - if (opt->flags & (OPTION_HELP_ENTRY_VERBATIM | OPTION_POSITIONAL_ENTRY)) - return strjoin(prefix, ASSERT_PTR(opt->long_code)); + return strdup(ASSERT_PTR(opt->long_code)); /* The option formatted appropriately for --help strings, error messages, and similar: - * ---=[] + * ---=[] * "=" is shown only when a long form is defined: -l --long=ARG, --long=ARG, -s ARG. * The joiner arg is used between the short and long forms. * As a special case, if the option has no long form and show_metavar is true, diff --cc src/shared/options.h index f9913951f42,7bb73dd5811..5f55dd5d19f --- a/src/shared/options.h +++ b/src/shared/options.h @@@ -191,14 -226,17 +226,17 @@@ char* option_parser_consume_next_arg(Op char** option_parser_get_args(const OptionParser *state); size_t option_parser_get_n_args(const OptionParser *state); -char* option_get_synopsis(const char *prefix, const Option *opt, const char *joiner, bool show_metavar); +char* option_get_synopsis(const Option *opt, const char *joiner, bool show_metavar); - int _option_parser_get_help_table( + int _option_parser_get_help_table_full( const Option options[], const Option options_end[], + const char *namespace, const char *group, Table **ret); + #define option_parser_get_help_table_full(namespace, group, ret) \ + _option_parser_get_help_table_full(ALIGN_PTR(__start_SYSTEMD_OPTIONS), __stop_SYSTEMD_OPTIONS, namespace, group, ret) #define option_parser_get_help_table_group(group, ret) \ - _option_parser_get_help_table(ALIGN_PTR(__start_SYSTEMD_OPTIONS), __stop_SYSTEMD_OPTIONS, group, ret) + option_parser_get_help_table_full(/* namespace= */ NULL, group, ret) #define option_parser_get_help_table(ret) \ option_parser_get_help_table_group(/* group= */ NULL, ret)