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:
Sangjung Woo
2015-01-23 09:30:44 -05:00
committed by Zbigniew Jędrzejewski-Szmek
parent 874d3404cb
commit b986229efe
+7 -1
View File
@@ -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 },