time.c: use printaddr, printnum_int, and umoven_or_printaddr

* time.c (sys_nanosleep): Use printaddr.
(printitv_bitness, tprint_timex32, tprint_timex, printsigevent32,
printsigevent): Use umoven_or_printaddr.
(sys_timer_create): Use printnum_int.
(sys_getitimer, sys_osf_getitimer, sys_setitimer, sys_osf_setitimer,
do_adjtimex, sys_timer_settime, sys_timer_gettime): Remove
redundant checks for syserror.
diff --git a/time.c b/time.c
index 9864118..fe51669 100644
--- a/time.c
+++ b/time.c
@@ -233,11 +233,8 @@
 		switch (tcp->u_error) {
 		default:
 			/* Not interrupted (slept entire interval) */
-			if (tcp->u_arg[1]) {
-				tprintf("%#lx", tcp->u_arg[1]);
-				break;
-			}
-			/* Fall through: print_timespec(NULL) prints "NULL" */
+			printaddr(tcp->u_arg[1]);
+			break;
 		case ERESTARTSYS:
 		case ERESTARTNOINTR:
 		case ERESTARTNOHAND:
@@ -254,40 +251,28 @@
 static void
 printitv_bitness(struct tcb *tcp, long addr, enum bitness_t bitness)
 {
-	if (addr == 0)
-		tprints("NULL");
-	else if (!verbose(tcp))
-		tprintf("%#lx", addr);
-	else {
-		int rc;
+	if (bitness == BITNESS_32 || current_time_t_is_compat) {
+		struct {
+			struct timeval32 it_interval, it_value;
+		} itv;
 
-		if (bitness == BITNESS_32 || current_time_t_is_compat) {
-			struct {
-				struct timeval32 it_interval, it_value;
-			} itv;
-
-			rc = umove(tcp, addr, &itv);
-			if (rc >= 0) {
-				tprints("{it_interval=");
-				tprint_timeval32(tcp, &itv.it_interval);
-				tprints(", it_value=");
-				tprint_timeval32(tcp, &itv.it_value);
-				tprints("}");
-			}
-		} else {
-			struct itimerval itv;
-
-			rc = umove(tcp, addr, &itv);
-			if (rc >= 0) {
-				tprints("{it_interval=");
-				tprint_timeval(tcp, &itv.it_interval);
-				tprints(", it_value=");
-				tprint_timeval(tcp, &itv.it_value);
-				tprints("}");
-			}
+		if (!umove_or_printaddr(tcp, addr, &itv)) {
+			tprints("{it_interval=");
+			tprint_timeval32(tcp, &itv.it_interval);
+			tprints(", it_value=");
+			tprint_timeval32(tcp, &itv.it_value);
+			tprints("}");
 		}
-		if (rc < 0)
-			tprints("{...}");
+	} else {
+		struct itimerval itv;
+
+		if (!umove_or_printaddr(tcp, addr, &itv)) {
+			tprints("{it_interval=");
+			tprint_timeval(tcp, &itv.it_interval);
+			tprints(", it_value=");
+			tprint_timeval(tcp, &itv.it_value);
+			tprints("}");
+		}
 	}
 }
 
@@ -300,10 +285,7 @@
 		printxval(itimer_which, tcp->u_arg[0], "ITIMER_???");
 		tprints(", ");
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[1]);
-		else
-			printitv(tcp, tcp->u_arg[1]);
+		printitv(tcp, tcp->u_arg[1]);
 	}
 	return 0;
 }
@@ -315,10 +297,7 @@
 		printxval(itimer_which, tcp->u_arg[0], "ITIMER_???");
 		tprints(", ");
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[1]);
-		else
-			printitv_bitness(tcp, tcp->u_arg[1], BITNESS_32);
+		printitv_bitness(tcp, tcp->u_arg[1], BITNESS_32);
 	}
 	return 0;
 }
@@ -332,10 +311,7 @@
 		printitv(tcp, tcp->u_arg[1]);
 		tprints(", ");
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[2]);
-		else
-			printitv(tcp, tcp->u_arg[2]);
+		printitv(tcp, tcp->u_arg[2]);
 	}
 	return 0;
 }
@@ -349,10 +325,7 @@
 		printitv_bitness(tcp, tcp->u_arg[1], BITNESS_32);
 		tprints(", ");
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[2]);
-		else
-			printitv_bitness(tcp, tcp->u_arg[2], BITNESS_32);
+		printitv_bitness(tcp, tcp->u_arg[2], BITNESS_32);
 	}
 	return 0;
 }
@@ -388,7 +361,7 @@
 		int     stbcnt;
 	} tx;
 
-	if (umove(tcp, addr, &tx) < 0)
+	if (umove_or_printaddr(tcp, addr, &tx))
 		return -1;
 
 	tprints("{modes=");
@@ -421,7 +394,7 @@
 	if (current_time_t_is_compat)
 		return tprint_timex32(tcp, addr);
 #endif
-	if (umove(tcp, addr, &tx) < 0)
+	if (umove_or_printaddr(tcp, addr, &tx))
 		return -1;
 
 #if LINUX_VERSION_CODE < 66332
@@ -458,13 +431,7 @@
 static int
 do_adjtimex(struct tcb *tcp, long addr)
 {
-	if (addr == 0)
-		tprints("NULL");
-	else if (syserror(tcp) || !verbose(tcp))
-		tprintf("%#lx", addr);
-	else if (tprint_timex(tcp, addr) < 0)
-		tprints("{...}");
-	if (syserror(tcp))
+	if (tprint_timex(tcp, addr))
 		return 0;
 	tcp->auxstr = xlookup(adjtimex_state, tcp->u_rval);
 	if (tcp->auxstr)
@@ -572,9 +539,7 @@
 		} un;
 	} sev;
 
-	if (umove(tcp, arg, &sev) < 0)
-		tprints("{...}");
-	else {
+	if (!umove_or_printaddr(tcp, arg, &sev)) {
 		tprintf("{%#x, ", sev.sigev_value);
 		if (sev.sigev_notify == SIGEV_SIGNAL)
 			tprintf("%s, ", signame(sev.sigev_signo));
@@ -606,9 +571,7 @@
 		return;
 	}
 #endif
-	if (umove(tcp, arg, &sev) < 0)
-		tprints("{...}");
-	else {
+	if (!umove_or_printaddr(tcp, arg, &sev)) {
 		tprintf("{%p, ", sev.sigev_value.sival_ptr);
 		if (sev.sigev_notify == SIGEV_SIGNAL)
 			tprintf("%s, ", signame(sev.sigev_signo));
@@ -645,12 +608,7 @@
 		printsigevent(tcp, tcp->u_arg[1]);
 		tprints(", ");
 	} else {
-		int timer_id;
-
-		if (syserror(tcp) || umove(tcp, tcp->u_arg[2], &timer_id) < 0)
-			tprintf("%#lx", tcp->u_arg[2]);
-		else
-			tprintf("{%d}", timer_id);
+		printnum_int(tcp, tcp->u_arg[2], "%d");
 	}
 	return 0;
 }
@@ -658,16 +616,13 @@
 SYS_FUNC(timer_settime)
 {
 	if (entering(tcp)) {
-		tprintf("%#lx, ", tcp->u_arg[0]);
+		tprintf("%d, ", (int) tcp->u_arg[0]);
 		printflags(clockflags, tcp->u_arg[1], "TIMER_???");
 		tprints(", ");
 		printitv(tcp, tcp->u_arg[2]);
 		tprints(", ");
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[3]);
-		else
-			printitv(tcp, tcp->u_arg[3]);
+		printitv(tcp, tcp->u_arg[3]);
 	}
 	return 0;
 }
@@ -675,12 +630,9 @@
 SYS_FUNC(timer_gettime)
 {
 	if (entering(tcp)) {
-		tprintf("%#lx, ", tcp->u_arg[0]);
+		tprintf("%d, ", (int) tcp->u_arg[0]);
 	} else {
-		if (syserror(tcp))
-			tprintf("%#lx", tcp->u_arg[1]);
-		else
-			printitv(tcp, tcp->u_arg[1]);
+		printitv(tcp, tcp->u_arg[1]);
 	}
 	return 0;
 }