]> granicus.if.org Git - strace/blobdiff - reboot.c
Introduce HAVE_STRUCT_TCB_EXT_ARG macro
[strace] / reboot.c
index 5c4752d9441307cad98bae04bad38baf824fc886..1669a3d1639b29a288aaee0bd61126c22a008b7c 100644 (file)
--- a/reboot.c
+++ b/reboot.c
@@ -4,20 +4,20 @@
 #include "xlat/bootflags2.h"
 #include "xlat/bootflags3.h"
 
-int
-sys_reboot(struct tcb *tcp)
+SYS_FUNC(reboot)
 {
-       if (exiting(tcp))
-               return 0;
+       const unsigned int magic1 = tcp->u_arg[0];
+       const unsigned int magic2 = tcp->u_arg[1];
+       const unsigned int cmd = tcp->u_arg[2];
 
-       printflags(bootflags1, tcp->u_arg[0], "LINUX_REBOOT_MAGIC_???");
+       printflags(bootflags1, magic1, "LINUX_REBOOT_MAGIC_???");
        tprints(", ");
-       printflags(bootflags2, tcp->u_arg[1], "LINUX_REBOOT_MAGIC_???");
+       printflags(bootflags2, magic2, "LINUX_REBOOT_MAGIC_???");
        tprints(", ");
-       printflags(bootflags3, tcp->u_arg[2], "LINUX_REBOOT_CMD_???");
-       if (tcp->u_arg[2] == (long) LINUX_REBOOT_CMD_RESTART2) {
+       printflags(bootflags3, cmd, "LINUX_REBOOT_CMD_???");
+       if (cmd == LINUX_REBOOT_CMD_RESTART2) {
                tprints(", ");
                printstr(tcp, tcp->u_arg[3], -1);
        }
-       return 0;
+       return RVAL_DECODED;
 }