Mercurial > hg > toybox
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); }