From c4da8e90fa65a042c6cdf495f5bfe5df087010a4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 7 Jun 2022 16:26:18 +0200 Subject: [PATCH] systemctl: simplify code a bit gcc insists that bus may be used unitialized here, but I don't see any possibility of that. --- src/systemctl/systemctl-util.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/systemctl/systemctl-util.c b/src/systemctl/systemctl-util.c index 6a71bce5fb2..13a039cdfb6 100644 --- a/src/systemctl/systemctl-util.c +++ b/src/systemctl/systemctl-util.c @@ -291,8 +291,6 @@ int check_triggering_units(sd_bus *bus, const char *unit) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_free_ char *n = NULL, *dbus_path = NULL, *load_state = NULL; _cleanup_strv_free_ char **triggered_by = NULL; - bool print_warning_label = true; - UnitActiveState active_state; int r; r = unit_name_mangle(unit, 0, &n); @@ -321,7 +319,10 @@ int check_triggering_units(sd_bus *bus, const char *unit) { if (r < 0) return log_error_errno(r, "Failed to get triggered by array of %s: %s", n, bus_error_message(&error, r)); + bool first = true; STRV_FOREACH(i, triggered_by) { + UnitActiveState active_state; + r = get_state_one_unit(bus, *i, &active_state); if (r < 0) return r; @@ -329,9 +330,9 @@ int check_triggering_units(sd_bus *bus, const char *unit) { if (!IN_SET(active_state, UNIT_ACTIVE, UNIT_RELOADING)) continue; - if (print_warning_label) { + if (first) { log_warning("Warning: Stopping %s, but it can still be activated by:", n); - print_warning_label = false; + first = false; } log_warning(" %s", *i); -- 2.47.3