diff options
Diffstat (limited to 'sbin/reboot/reboot.c')
-rw-r--r-- | sbin/reboot/reboot.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index 6d0fee4..66e5398 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -63,7 +63,7 @@ main(argc, argv) { register int i; struct passwd *pw; - int ch, howto, lflag, nflag, qflag, sverrno; + int ch, howto, lflag, nflag, qflag, pflag, sverrno; char *p, *user; if (strstr((p = rindex(*argv, '/')) ? p + 1 : *argv, "halt")) { @@ -72,7 +72,7 @@ main(argc, argv) } else howto = 0; lflag = nflag = qflag = 0; - while ((ch = getopt(argc, argv, "lnq")) != EOF) + while ((ch = getopt(argc, argv, "lnpq")) != EOF) switch(ch) { case 'l': /* Undocumented; used by shutdown. */ lflag = 1; @@ -81,6 +81,10 @@ main(argc, argv) nflag = 1; howto |= RB_NOSYNC; break; + case 'p': + pflag = 1; + howto |= (RB_POWEROFF | RB_HALT); + break; case 'q': qflag = 1; break; |