long iocbs = tcp->u_arg[2];
for (i = 0; i < nr; ++i, iocbs += current_wordsize) {
- long iocbp;
+ unsigned long iocbp;
struct iocb cb;
if (i)
tprints(", ");
- if (umove_long_or_printaddr(tcp, iocbs, &iocbp)) {
+ if (umove_ulong_or_printaddr(tcp, iocbs, &iocbp)) {
/*
* No point in trying to read the whole array
* because nr can be ridiculously large.
tprints("], ");
}
+ /*
+ * Since the timeout parameter is read by the kernel
+ * on entering syscall, it has to be decoded the same way
+ * whether the syscall has failed or not.
+ */
+ temporarily_clear_syserror(tcp);
print_timespec(tcp, tcp->u_arg[4]);
+ restore_cleared_syserror(tcp);
}
return 0;
}