From: Lennart Poettering Date: Thu, 9 Mar 2023 16:41:25 +0000 (+0100) Subject: runtime-scope: add helper that turns RuntimeScope enum into --system/--user string X-Git-Tag: v254-rc1~1067^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F26737%2Fhead;p=thirdparty%2Fsystemd.git runtime-scope: add helper that turns RuntimeScope enum into --system/--user string --- diff --git a/src/basic/runtime-scope.c b/src/basic/runtime-scope.c index 88afb53d0bf..3d653d6cefc 100644 --- a/src/basic/runtime-scope.c +++ b/src/basic/runtime-scope.c @@ -10,3 +10,11 @@ static const char* const runtime_scope_table[_RUNTIME_SCOPE_MAX] = { }; DEFINE_STRING_TABLE_LOOKUP(runtime_scope, RuntimeScope); + +static const char* const runtime_scope_cmdline_option_table[_RUNTIME_SCOPE_MAX] = { + [RUNTIME_SCOPE_SYSTEM] = "--system", + [RUNTIME_SCOPE_USER] = "--user", + [RUNTIME_SCOPE_GLOBAL] = "--global", +}; + +DEFINE_STRING_TABLE_LOOKUP_TO_STRING(runtime_scope_cmdline_option, RuntimeScope); diff --git a/src/basic/runtime-scope.h b/src/basic/runtime-scope.h index 6a7f9e65d49..6553e4c1999 100644 --- a/src/basic/runtime-scope.h +++ b/src/basic/runtime-scope.h @@ -15,3 +15,5 @@ typedef enum RuntimeScope { const char *runtime_scope_to_string(RuntimeScope scope) _const_; RuntimeScope runtime_scope_from_string(const char *s) _const_; + +const char *runtime_scope_cmdline_option_to_string(RuntimeScope scope) _const_; diff --git a/src/core/main.c b/src/core/main.c index 29302a6de9a..3f63150f313 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1867,7 +1867,7 @@ static int do_reexecute( if (switch_root_dir) args[i++] = "--switched-root"; - args[i++] = arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "--system" : "--user"; + args[i++] = runtime_scope_cmdline_option_to_string(arg_runtime_scope); args[i++] = "--deserialize"; args[i++] = sfd; args[i++] = NULL; diff --git a/src/systemctl/systemctl-start-special.c b/src/systemctl/systemctl-start-special.c index 90b1e2ae0df..1c50adff6ed 100644 --- a/src/systemctl/systemctl-start-special.c +++ b/src/systemctl/systemctl-start-special.c @@ -238,7 +238,7 @@ int verb_start_system_special(int argc, char *argv[], void *userdata) { if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Bad action for %s mode.", - arg_runtime_scope == RUNTIME_SCOPE_GLOBAL ? "--global" : "--user"); + runtime_scope_cmdline_option_to_string(arg_runtime_scope)); return verb_start_special(argc, argv, userdata); }