]> granicus.if.org Git - strace/blobdiff - utime.c
io.c: move sendfile parsers to a separate file
[strace] / utime.c
diff --git a/utime.c b/utime.c
index af286a43f40f59e8f7ea796d3bd9c4e93c6eadd0..b21c799c78bbe639b3de958ef76849f0a3690944 100644 (file)
--- a/utime.c
+++ b/utime.c
@@ -9,28 +9,23 @@ SYS_FUNC(utime)
        } u;
        unsigned wordsize;
 
-       if (entering(tcp)) {
-               printpath(tcp, tcp->u_arg[0]);
-               tprints(", ");
+       printpath(tcp, tcp->u_arg[0]);
+       tprints(", ");
 
-               wordsize = current_wordsize;
-               if (!tcp->u_arg[1])
-                       tprints("NULL");
-               else if (!verbose(tcp))
-                       tprintf("%#lx", tcp->u_arg[1]);
-               else if (umoven(tcp, tcp->u_arg[1], 2 * wordsize, &u) < 0)
-                       tprints("[?, ?]");
-               else if (wordsize == sizeof u.utl[0]) {
-                       tprintf("[%s,", sprinttime(u.utl[0]));
-                       tprintf(" %s]", sprinttime(u.utl[1]));
-               }
-               else if (wordsize == sizeof u.uti[0]) {
-                       tprintf("[%s,", sprinttime(u.uti[0]));
-                       tprintf(" %s]", sprinttime(u.uti[1]));
-               }
-               else
-                       tprintf("<decode error: unsupported wordsize %d>",
-                               wordsize);
+       wordsize = current_wordsize;
+       if (umoven_or_printaddr(tcp, tcp->u_arg[1], 2 * wordsize, &u))
+               ;
+       else if (wordsize == sizeof u.utl[0]) {
+               tprintf("[%s,", sprinttime(u.utl[0]));
+               tprintf(" %s]", sprinttime(u.utl[1]));
        }
-       return 0;
+       else if (wordsize == sizeof u.uti[0]) {
+               tprintf("[%s,", sprinttime(u.uti[0]));
+               tprintf(" %s]", sprinttime(u.uti[1]));
+       }
+       else
+               tprintf("<decode error: unsupported wordsize %d>",
+                       wordsize);
+
+       return RVAL_DECODED;
 }