]> granicus.if.org Git - strace/commitdiff
time.c: make use of RVAL_DECODED
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 16 Jul 2015 21:07:06 +0000 (21:07 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 16 Jul 2015 22:58:12 +0000 (22:58 +0000)
* time.c (sys_settimeofday, sys_osf_settimeofday, sys_clock_settime,
sys_timerfd, sys_timerfd_create, sys_timerfd_settime): Update
for RVAL_DECODED.
(timerfd_gettime): Decode struct itimerspec argument on exiting syscall.

time.c

diff --git a/time.c b/time.c
index fe516696ee5bba1732a049a624b8ef7bd813b35e..dbe618934da1d89da7dbb63fcb26beb0c4ff48c1 100644 (file)
--- a/time.c
+++ b/time.c
@@ -188,23 +188,21 @@ SYS_FUNC(osf_gettimeofday)
 
 SYS_FUNC(settimeofday)
 {
-       if (entering(tcp)) {
-               printtv(tcp, tcp->u_arg[0]);
-               tprints(", ");
-               printtv(tcp, tcp->u_arg[1]);
-       }
-       return 0;
+       printtv(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       printtv(tcp, tcp->u_arg[1]);
+
+       return RVAL_DECODED;
 }
 
 #ifdef ALPHA
 SYS_FUNC(osf_settimeofday)
 {
-       if (entering(tcp)) {
-               printtv_bitness(tcp, tcp->u_arg[0], BITNESS_32, 0);
-               tprints(", ");
-               printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
-       }
-       return 0;
+       printtv_bitness(tcp, tcp->u_arg[0], BITNESS_32, 0);
+       tprints(", ");
+       printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
+
+       return RVAL_DECODED;
 }
 #endif
 
@@ -474,12 +472,11 @@ printclockname(int clockid)
 
 SYS_FUNC(clock_settime)
 {
-       if (entering(tcp)) {
-               printclockname(tcp->u_arg[0]);
-               tprints(", ");
-               printtv(tcp, tcp->u_arg[1]);
-       }
-       return 0;
+       printclockname(tcp->u_arg[0]);
+       tprints(", ");
+       printtv(tcp, tcp->u_arg[1]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(clock_gettime)
@@ -641,40 +638,37 @@ SYS_FUNC(timer_gettime)
 
 SYS_FUNC(timerfd)
 {
-       if (entering(tcp)) {
-               /* It does not matter that the kernel uses itimerspec.  */
-               tprintf("%ld, ", tcp->u_arg[0]);
-               printclockname(tcp->u_arg[0]);
-               tprints(", ");
-               printflags(timerfdflags, tcp->u_arg[2], "TFD_???");
-               tprints(", ");
-               printitv(tcp, tcp->u_arg[3]);
-       }
-       return 0;
+       /* It does not matter that the kernel uses itimerspec.  */
+       tprintf("%ld, ", tcp->u_arg[0]);
+       printclockname(tcp->u_arg[0]);
+       tprints(", ");
+       printflags(timerfdflags, tcp->u_arg[2], "TFD_???");
+       tprints(", ");
+       printitv(tcp, tcp->u_arg[3]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(timerfd_create)
 {
-       if (entering(tcp)) {
-               printclockname(tcp->u_arg[0]);
-               tprints(", ");
-               printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
-       }
-       return 0;
+       printclockname(tcp->u_arg[0]);
+       tprints(", ");
+       printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(timerfd_settime)
 {
-       if (entering(tcp)) {
-               printfd(tcp, tcp->u_arg[0]);
-               tprints(", ");
-               printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
-               tprints(", ");
-               printitv(tcp, tcp->u_arg[2]);
-               tprints(", ");
-               printitv(tcp, tcp->u_arg[3]);
-       }
-       return 0;
+       printfd(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       printflags(timerfdflags, tcp->u_arg[1], "TFD_???");
+       tprints(", ");
+       printitv(tcp, tcp->u_arg[2]);
+       tprints(", ");
+       printitv(tcp, tcp->u_arg[3]);
+
+       return RVAL_DECODED;
 }
 
 SYS_FUNC(timerfd_gettime)
@@ -682,6 +676,7 @@ SYS_FUNC(timerfd_gettime)
        if (entering(tcp)) {
                printfd(tcp, tcp->u_arg[0]);
                tprints(", ");
+       } else {
                printitv(tcp, tcp->u_arg[1]);
        }
        return 0;