wok diff busybox/stuff/busybox-1.27-shutdown.u @ rev 21937

Up nnn (2.7)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Oct 07 18:30:01 2019 +0200 (2019-10-07)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/busybox/stuff/busybox-1.27-shutdown.u	Mon Oct 07 18:30:01 2019 +0200
     1.3 @@ -0,0 +1,62 @@
     1.4 +--- busybox-1.27/init/halt.c
     1.5 ++++ busybox-1.27/init/halt.c
     1.6 +@@ -49,6 +49,7 @@
     1.7 + //                   APPLET_ODDNAME:name      main  location     suid_type     help
     1.8 + //applet:IF_POWEROFF(APPLET_ODDNAME(poweroff, halt, BB_DIR_SBIN, BB_SUID_DROP, poweroff))
     1.9 + //applet:IF_REBOOT(  APPLET_ODDNAME(reboot,   halt, BB_DIR_SBIN, BB_SUID_DROP, reboot))
    1.10 ++//applet:IF_REBOOT(  APPLET_ODDNAME(shutdown, halt, BB_DIR_SBIN, BB_SUID_DROP, shutdown))
    1.11 + 
    1.12 + //kbuild:lib-$(CONFIG_HALT) += halt.o
    1.13 + //kbuild:lib-$(CONFIG_POWEROFF) += halt.o
    1.14 +@@ -80,6 +81,15 @@
    1.15 + //usage:     "\n	-d SEC	Delay interval"
    1.16 + //usage:     "\n	-n	Do not sync"
    1.17 + //usage:     "\n	-f	Force (don't go through init)"
    1.18 ++//usage:
    1.19 ++//usage:#define shutdown_trivial_usage
    1.20 ++//usage:       "[-rhHP]"
    1.21 ++//usage:#define shutdown_full_usage "\n\n"
    1.22 ++//usage:       "Bring the system down\n"
    1.23 ++//usage:     "\n	-r	Do reboot"
    1.24 ++//usage:     "\n	-h	Do poweroff"
    1.25 ++//usage:     "\n	-H	Do halt"
    1.26 ++//usage:     "\n	-P	Do poweroff"
    1.27 + 
    1.28 + #include "libbb.h"
    1.29 + #include "reboot.h"
    1.30 +@@ -113,6 +123,7 @@
    1.31 + int halt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
    1.32 + int halt_main(int argc UNUSED_PARAM, char **argv)
    1.33 + {
    1.34 ++	enum { HALT=0, POWEROFF=1, REBOOT=2, SHUTDOWN=3 };
    1.35 + 	static const int magic[] = {
    1.36 + 		RB_HALT_SYSTEM,
    1.37 + 		RB_POWER_OFF,
    1.38 +@@ -133,15 +144,26 @@
    1.39 + 	if (!ENABLE_HALT && !ENABLE_POWEROFF && ENABLE_REBOOT)
    1.40 + 		which = 2;
    1.41 + 	else
    1.42 +-	for (which = 0; "hpr"[which] != applet_name[0]; which++)
    1.43 ++	for (which = 0; "hprs"[which] != applet_name[0]; which++)
    1.44 + 		continue;
    1.45 + 
    1.46 ++	if (which == SHUTDOWN) {
    1.47 ++		which = REBOOT;
    1.48 ++		switch (getopt32(argv, "rhPH")) {
    1.49 ++			case 2:
    1.50 ++			case 4: which = POWEROFF; break;
    1.51 ++			case 8: which = HALT;
    1.52 ++		}
    1.53 ++		flags = 0;
    1.54 ++	}
    1.55 ++	else {
    1.56 + 	/* Parse and handle arguments */
    1.57 + 	/* We support -w even if !ENABLE_FEATURE_WTMP,
    1.58 + 	 * in order to not break scripts.
    1.59 + 	 * -i (shut down network interfaces) is ignored.
    1.60 + 	 */
    1.61 + 	flags = getopt32(argv, "d:+nfwi", &delay);
    1.62 ++	}
    1.63 + 
    1.64 + 	sleep(delay);
    1.65 +