sprinttv: do not fetch data in case of syserror
* time.c (sprinttv): Do not fetch data in case syserror.
Print address instead of {...} in case of umove failure.
(sys_gettimeofday, sys_osf_gettimeofday, sys_adjtime, sys_clock_gettime,
clock_nanosleep): Remove now redundant checks for syserror.
diff --git a/time.c b/time.c
index f315f5d..9864118 100644
--- a/time.c
+++ b/time.c
@@ -95,7 +95,7 @@
if (addr == 0)
return stpcpy(buf, "NULL");
- if (!verbose(tcp))
+ if (!verbose(tcp) || (exiting(tcp) && syserror(tcp)))
return buf + sprintf(buf, "%#lx", addr);
if (bitness == BITNESS_32 || current_time_t_is_compat)
@@ -111,7 +111,7 @@
return do_sprinttv(buf, tv.tv_sec, tv.tv_usec, special);
}
- return stpcpy(buf, "{...}");
+ return buf + sprintf(buf, "%#lx", addr);
}
void
@@ -167,10 +167,6 @@
SYS_FUNC(gettimeofday)
{
if (exiting(tcp)) {
- if (syserror(tcp)) {
- tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
- return 0;
- }
printtv(tcp, tcp->u_arg[0]);
tprints(", ");
printtv(tcp, tcp->u_arg[1]);
@@ -182,10 +178,6 @@
SYS_FUNC(osf_gettimeofday)
{
if (exiting(tcp)) {
- if (syserror(tcp)) {
- tprintf("%#lx, %#lx", tcp->u_arg[0], tcp->u_arg[1]);
- return 0;
- }
printtv_bitness(tcp, tcp->u_arg[0], BITNESS_32, 0);
tprints(", ");
printtv_bitness(tcp, tcp->u_arg[1], BITNESS_32, 0);
@@ -222,10 +214,7 @@
printtv(tcp, tcp->u_arg[0]);
tprints(", ");
} else {
- if (syserror(tcp))
- tprintf("%#lx", tcp->u_arg[1]);
- else
- printtv(tcp, tcp->u_arg[1]);
+ printtv(tcp, tcp->u_arg[1]);
}
return 0;
}
@@ -532,10 +521,7 @@
printclockname(tcp->u_arg[0]);
tprints(", ");
} else {
- if (syserror(tcp))
- tprintf("%#lx", tcp->u_arg[1]);
- else
- printtv(tcp, tcp->u_arg[1]);
+ printtv(tcp, tcp->u_arg[1]);
}
return 0;
}
@@ -550,10 +536,7 @@
printtv(tcp, tcp->u_arg[2]);
tprints(", ");
} else {
- if (syserror(tcp))
- tprintf("%#lx", tcp->u_arg[3]);
- else
- printtv(tcp, tcp->u_arg[3]);
+ printtv(tcp, tcp->u_arg[3]);
}
return 0;
}