- if (entering(tcp)) {
- printfd(tcp, tcp->u_arg[0]);
- tprints(", ");
- printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
- tprintf(", %lu, ", tcp->u_arg[2]);
- printllval(tcp, "%llu", PREAD_OFFSET_ARG);
+ printfd(tcp, tcp->u_arg[0]);
+ tprints(", ");
+ printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
+ tprintf(", %lu, ", tcp->u_arg[2]);
+ printllval(tcp, "%lld", 3);
+
+ return RVAL_DECODED;
+}
+
+static void
+print_lld_from_low_high_val(struct tcb *tcp, int arg)
+{
+#if SIZEOF_LONG > 4 && SIZEOF_LONG == SIZEOF_LONG_LONG
+# ifndef current_klongsize
+ if (current_klongsize < SIZEOF_LONG) {
+ tprintf("%ld", (tcp->u_arg[arg + 1] << current_wordsize * 8)
+ | tcp->u_arg[arg]);
+ } else
+# endif /* !current_klongsize */
+ {
+ tprintf("%ld", tcp->u_arg[arg]);