# HG changeset patch # User Rob Landley # Date 1382039018 18000 # Node ID e1d3a9ac9e9fa487d9dfbea83396d3f3bc6870bb # Parent 1a5c7092afbfe39694e562390bf541558f2d3f48 Minor cleanup of reboot diff -r 1a5c7092afbf -r e1d3a9ac9e9f toys/other/reboot.c --- a/toys/other/reboot.c Tue Oct 01 20:57:21 2013 +0200 +++ b/toys/other/reboot.c Thu Oct 17 14:43:38 2013 -0500 @@ -23,20 +23,9 @@ void reboot_main(void) { - char c = toys.which->name[0]; - - if (!(toys.optflags & FLAG_n)) - sync(); + int types[] = {RB_AUTOBOOT, RB_HALT_SYSTEM, RB_POWER_OFF}; - switch(c) { - case 'p': - toys.exitval = reboot(RB_POWER_OFF); - break; - case 'h': - toys.exitval = reboot(RB_HALT_SYSTEM); - break; - case 'r': - default: - toys.exitval = reboot(RB_AUTOBOOT); - } + if (!(toys.optflags & FLAG_n)) sync(); + + toys.exitval = reboot(types[stridx("hp", *toys.which->name)+1]); }