From 848cdaa6dd1335912dbab1d2acf6663bb168d3b0 Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 16 Apr 2024 15:08:14 +0800 Subject: [PATCH] systemctl: use FOREACH_ARRAY and FOREACH_ELEMENT more --- src/systemctl/systemctl-start-unit.c | 26 ++++++++++++++++---------- src/systemctl/systemctl-util.c | 4 ++-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/systemctl/systemctl-start-unit.c b/src/systemctl/systemctl-start-unit.c index de8873caaf5..c1574f019e2 100644 --- a/src/systemctl/systemctl-start-unit.c +++ b/src/systemctl/systemctl-start-unit.c @@ -35,20 +35,24 @@ static const struct { { "force-reload", "ReloadOrTryRestartUnit", "reload-or-try-restart" }, /* legacy alias */ }; -static const char *verb_to_method(const char *verb) { - for (size_t i = 0; i < ELEMENTSOF(unit_actions); i++) - if (streq_ptr(unit_actions[i].verb, verb)) - return unit_actions[i].method; +static const char* verb_to_method(const char *verb) { + assert(verb); - return "StartUnit"; + FOREACH_ELEMENT(i, unit_actions) + if (streq(i->verb, verb)) + return i->method; + + return "StartUnit"; } -static const char *verb_to_job_type(const char *verb) { - for (size_t i = 0; i < ELEMENTSOF(unit_actions); i++) - if (streq_ptr(unit_actions[i].verb, verb)) - return unit_actions[i].job_type; +static const char* verb_to_job_type(const char *verb) { + assert(verb); + + FOREACH_ELEMENT(i, unit_actions) + if (streq(i->verb, verb)) + return i->job_type; - return "start"; + return "start"; } static int start_unit_one( @@ -240,6 +244,8 @@ const struct action_metadata action_table[_ACTION_MAX] = { }; enum action verb_to_action(const char *verb) { + assert(verb); + for (enum action i = 0; i < _ACTION_MAX; i++) if (streq_ptr(action_table[i].verb, verb)) return i; diff --git a/src/systemctl/systemctl-util.c b/src/systemctl/systemctl-util.c index 75c6c547f7b..2482b7ccb24 100644 --- a/src/systemctl/systemctl-util.c +++ b/src/systemctl/systemctl-util.c @@ -64,8 +64,8 @@ int acquire_bus(BusFocus focus, sd_bus **ret) { } void release_busses(void) { - for (BusFocus w = 0; w < _BUS_FOCUS_MAX; w++) - buses[w] = sd_bus_flush_close_unref(buses[w]); + FOREACH_ARRAY(w, buses, _BUS_FOCUS_MAX) + *w = sd_bus_flush_close_unref(*w); } void ask_password_agent_open_maybe(void) { -- 2.47.3