} 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;
}