diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-04-12 16:43:39 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-12 16:43:39 +0900 |
commit | f643ca1767a52918c69c324f2ed6dbdfa005f04e (patch) | |
tree | 0a440c3cee3f0ac20fb9a94a98af5ebcef8c014e /src/machine | |
parent | 82929336c77ee9e1b0056f25daa6a4210403d1b3 (diff) | |
parent | f86a41291b6395b9fb74ccd74911ad7867d81dd9 (diff) | |
download | systemd-f643ca1767a52918c69c324f2ed6dbdfa005f04e.tar.gz |
Merge pull request #27033 from dtardon/array-cleanup
Use CLEANUP_ARRAY more
Diffstat (limited to 'src/machine')
-rw-r--r-- | src/machine/machinectl.c | 47 |
1 files changed, 21 insertions, 26 deletions
diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index 71b9d0d4c1..10bb8cc8ef 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -1760,10 +1760,14 @@ static int enable_machine(int argc, char *argv[], void *userdata) { const char *method; sd_bus *bus = ASSERT_PTR(userdata); int r; + bool enable; + + CLEANUP_ARRAY(changes, n_changes, install_changes_free); polkit_agent_open_if_enabled(arg_transport, arg_ask_password); - method = streq(argv[0], "enable") ? "EnableUnitFiles" : "DisableUnitFiles"; + enable = streq(argv[0], "enable"); + method = enable ? "EnableUnitFiles" : "DisableUnitFiles"; r = bus_message_new_method_call(bus, &m, bus_systemd_mgr, method); if (r < 0) @@ -1773,7 +1777,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) { if (r < 0) return bus_log_create_error(r); - if (streq(argv[0], "enable")) { + if (enable) { r = sd_bus_message_append(m, "s", "machines.target"); if (r < 0) return bus_log_create_error(r); @@ -1803,7 +1807,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) { if (r < 0) return bus_log_create_error(r); - if (streq(argv[0], "enable")) + if (enable) r = sd_bus_message_append(m, "bb", false, false); else r = sd_bus_message_append(m, "b", false); @@ -1814,7 +1818,7 @@ static int enable_machine(int argc, char *argv[], void *userdata) { if (r < 0) return log_error_errno(r, "Failed to enable or disable unit: %s", bus_error_message(&error, r)); - if (streq(argv[0], "enable")) { + if (enable) { r = sd_bus_message_read(reply, "b", NULL); if (r < 0) return bus_log_parse_error(r); @@ -1822,39 +1826,30 @@ static int enable_machine(int argc, char *argv[], void *userdata) { r = bus_deserialize_and_dump_unit_file_changes(reply, arg_quiet, &changes, &n_changes); if (r < 0) - goto finish; + return r; r = bus_call_method(bus, bus_systemd_mgr, "Reload", &error, NULL, NULL); - if (r < 0) { - log_error("Failed to reload daemon: %s", bus_error_message(&error, r)); - goto finish; - } + if (r < 0) + return log_error_errno(r, "Failed to reload daemon: %s", bus_error_message(&error, r)); if (arg_now) { _cleanup_strv_free_ char **new_args = NULL; - new_args = strv_new(streq(argv[0], "enable") ? "start" : "poweroff"); - if (!new_args) { - r = log_oom(); - goto finish; - } + new_args = strv_new(enable ? "start" : "poweroff"); + if (!new_args) + return log_oom(); r = strv_extend_strv(&new_args, argv + 1, /* filter_duplicates = */ false); - if (r < 0) { - log_oom(); - goto finish; - } + if (r < 0) + return log_oom(); - if (streq(argv[0], "enable")) - r = start_machine(strv_length(new_args), new_args, userdata); - else - r = poweroff_machine(strv_length(new_args), new_args, userdata); - } + if (enable) + return start_machine(strv_length(new_args), new_args, userdata); -finish: - install_changes_free(changes, n_changes); + return poweroff_machine(strv_length(new_args), new_args, userdata); + } - return r; + return 0; } static int match_log_message(sd_bus_message *m, void *userdata, sd_bus_error *error) { |