mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-09-06 21:51:37 +00:00
systemctl: bugfix for systemctl reboot command with argument
According to systemctl man page, 'systemctl reboot [arg]' should work without any errors. However, it does not work because of 'Invalid number of arguments' error, except for 'reboot [arg]'. This patch fixes the bug so that both of commands work in exactly the same way.
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
874d3404cb
commit
b986229efe
@@ -2955,6 +2955,12 @@ static int start_special(sd_bus *bus, char **args) {
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
if (a == ACTION_REBOOT) {
|
||||
r = update_reboot_param_file(args[1]);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
if (arg_force >= 2 &&
|
||||
(a == ACTION_HALT ||
|
||||
a == ACTION_POWEROFF ||
|
||||
@@ -7093,7 +7099,7 @@ static int systemctl_main(sd_bus *bus, int argc, char *argv[], int bus_error) {
|
||||
{ "import-environment", MORE, 1, import_environment},
|
||||
{ "halt", EQUAL, 1, start_special, FORCE },
|
||||
{ "poweroff", EQUAL, 1, start_special, FORCE },
|
||||
{ "reboot", EQUAL, 1, start_special, FORCE },
|
||||
{ "reboot", MORE, 1, start_special, FORCE },
|
||||
{ "kexec", EQUAL, 1, start_special },
|
||||
{ "suspend", EQUAL, 1, start_special },
|
||||
{ "hibernate", EQUAL, 1, start_special },
|
||||
|
||||
Reference in New Issue
Block a user