Convert journalctl to option macros (#42051)

This commit is contained in:
Daan De Meyer
2026-05-12 20:42:39 +02:00
committed by GitHub
10 changed files with 528 additions and 678 deletions

View File

@@ -263,11 +263,11 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
return log_error_errno(arg_class, "Failed to parse --class= argument: %s", opts.arg);
break;
OPTION_LONG("system", NULL, "Operate in per-system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in per-user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}

View File

@@ -370,11 +370,11 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
return log_error_errno(arg_class, "Failed to parse --class= argument: %s", opts.arg);
break;
OPTION_LONG("system", NULL, "Operate in per-system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in per-user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}

View File

@@ -410,11 +410,11 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
return log_error_errno(arg_class, "Failed to parse --class= argument: %s", opts.arg);
break;
OPTION_LONG("system", NULL, "Operate in per-system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in per-user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}

View File

@@ -537,11 +537,11 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
auto_keep_download = false;
break;
OPTION_LONG("system", NULL, "Operate in per-system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in per-user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}

View File

@@ -65,7 +65,7 @@ int action_relinquish_var(void) {
_cleanup_(sd_varlink_flush_close_unrefp) sd_varlink *link = NULL;
int r;
assert(arg_action == ACTION_RELINQUISH_VAR);
assert(IN_SET(arg_action, ACTION_RELINQUISH_VAR, ACTION_SMART_RELINQUISH_VAR));
if (arg_machine || arg_namespace)
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),

File diff suppressed because it is too large Load Diff

View File

@@ -21,6 +21,7 @@ typedef enum JournalctlAction {
ACTION_LIST_NAMESPACES,
ACTION_FLUSH,
ACTION_RELINQUISH_VAR,
ACTION_SMART_RELINQUISH_VAR,
ACTION_SYNC,
ACTION_ROTATE,
ACTION_VACUUM,

View File

@@ -124,6 +124,12 @@ typedef struct Option {
#define OPTION_COMMON_MACHINE \
OPTION('M', "machine", "CONTAINER", "Operate on local container")
#define OPTION_COMMON_SYSTEM \
OPTION_LONG("system", NULL, "Operate in system mode")
#define OPTION_COMMON_USER \
OPTION_LONG("user", NULL, "Operate in per-user mode")
#define OPTION_COMMON_JSON \
OPTION_LONG("json", "FORMAT", "Generate JSON output (pretty, short, or off)")

View File

@@ -777,11 +777,11 @@ static int parse_argv(int argc, char *argv[]) {
OPTION_COMMON_VERSION:
return version();
OPTION_LONG("system", NULL, "Operate in system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}

View File

@@ -399,11 +399,12 @@ static int verb_providers(int argc, char *argv[], uintptr_t data, void *userdata
return 0;
}
static int parse_argv(int argc, char *argv[], char ***args) {
static int parse_argv(int argc, char *argv[], char ***remaining_args) {
int r;
assert(argc >= 0);
assert(argv);
assert(remaining_args);
OptionParser opts = { argc, argv };
FOREACH_OPTION_OR_RETURN(c, &opts)
@@ -433,16 +434,16 @@ static int parse_argv(int argc, char *argv[], char ***args) {
arg_ask_password = false;
break;
OPTION_LONG("system", NULL, "Operate in system mode"):
OPTION_COMMON_SYSTEM:
arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
break;
OPTION_LONG("user", NULL, "Operate in user mode"):
OPTION_COMMON_USER:
arg_runtime_scope = RUNTIME_SCOPE_USER;
break;
}
*args = option_parser_get_args(&opts);
*remaining_args = option_parser_get_args(&opts);
return 1;
}