}
#endif /* EVIOCGMTSLOTS */
-#ifdef EVIOCGREP
+#if defined EVIOCGREP || defined EVIOCSREP
static int
repeat_ioctl(struct tcb *tcp, long arg)
{
- unsigned int val[2];
-
- if (!verbose(tcp) || umove(tcp, arg, &val) < 0)
- return 0;
-
- tprintf(", [%" PRIu32 " %" PRIu32 "]", val[0], val[1]);
+ tprints(", ");
+ printpair_int(tcp, arg, "%u");
return 1;
}
-#endif /* EVIOCGREP */
+#endif /* EVIOCGREP || EVIOCSREP */
static int
evdev_read_ioctl(struct tcb *tcp, const unsigned int code, long arg)
tprintf("%#lx", tcp->u_arg[0]);
} else {
#ifdef HAVE_GETRVAL2
- if (flags_arg < 0) {
+ if (flags_arg < 0)
tprintf("[%lu, %lu]", tcp->u_rval, getrval2(tcp));
- } else
+ else
#endif
- {
- int fds[2];
-
- if (umove(tcp, tcp->u_arg[0], &fds) < 0)
- tprintf("%#lx", tcp->u_arg[0]);
- else
- tprintf("[%u, %u]", fds[0], fds[1]);
- }
+ printpair_int(tcp, tcp->u_arg[0], "%u");
}
if (flags_arg >= 0) {
tprints(", ");
SYS_FUNC(socketpair)
{
- int fds[2];
-
if (entering(tcp)) {
printxval(domains, tcp->u_arg[0], "PF_???");
tprints(", ");
tprint_sock_type(tcp->u_arg[1]);
tprintf(", %lu", tcp->u_arg[2]);
} else {
- if (syserror(tcp)) {
- tprintf(", %#lx", tcp->u_arg[3]);
- return 0;
- }
- if (umoven(tcp, tcp->u_arg[3], sizeof fds, fds) < 0)
- tprints(", [...]");
- else
- tprintf(", [%u, %u]", fds[0], fds[1]);
+ tprints(", ");
+ printpair_int(tcp, tcp->u_arg[3], "%u");
}
return 0;
}