diff toys/other/oneit.c @ 674:7e846e281e38

New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
author Rob Landley <rob@landley.net>
date Mon, 08 Oct 2012 00:02:30 -0500
parents 6df4ccc0acbe
children 786841fdb1e0
line wrap: on
line diff
--- a/toys/other/oneit.c	Sun Oct 07 23:53:25 2012 -0500
+++ b/toys/other/oneit.c	Mon Oct 08 00:02:30 2012 -0500
@@ -24,15 +24,14 @@
 	  which point it reboots (or with -p, powers off) the system.
 */
 
+#define FOR_oneit
 #include "toys.h"
 #include <sys/reboot.h>
 
-DEFINE_GLOBALS(
+GLOBALS(
 	char *console;
 )
 
-#define TT this.oneit
-
 // The minimum amount of work necessary to get ctrl-c and such to work is:
 //
 // - Fork a child (PID 1 is special: can't exit, has various signals blocked).
@@ -59,7 +58,8 @@
 
 	// PID 1 can't call reboot() because it kills the task that calls it,
 	// which causes the kernel to panic before the actual reboot happens.
-	if (!vfork()) reboot((toys.optflags&1) ? RB_POWER_OFF : RB_AUTOBOOT);
+	if (!vfork())
+            reboot((toys.optflags & FLAG_p) ? RB_POWER_OFF : RB_AUTOBOOT);
 	sleep(5);
 	_exit(1);
   }