tprints("}");
return RVAL_DECODED | 1;
}
- } else {
- if (!syserror(tcp) && !umove(tcp, arg, &f)) {
- const char *delim = is_get ? ", " : " => ";
- print_v4l2_format_fmt(tcp, delim, &f);
- }
- tprints("}");
+
+ return 0;
}
+
+ if (!syserror(tcp) && !umove(tcp, arg, &f))
+ print_v4l2_format_fmt(tcp, is_get ? ", " : " => ", &f);
+
+ tprints("}");
+
return 1;
}
printxval(v4l2_buf_types, b.type, "V4L2_BUF_TYPE_???");
if (code != VIDIOC_DQBUF)
tprintf(", index=%u", b.index);
- } else {
- if (!syserror(tcp) && umove(tcp, arg, &b) == 0) {
- if (code == VIDIOC_DQBUF)
- tprintf(", index=%u", b.index);
- tprints(", memory=");
- printxval(v4l2_memories, b.memory, "V4L2_MEMORY_???");
-
- if (b.memory == V4L2_MEMORY_MMAP) {
- tprintf(", m.offset=%#x", b.m.offset);
- } else if (b.memory == V4L2_MEMORY_USERPTR) {
- tprints(", m.userptr=");
- printaddr(b.m.userptr);
- }
- tprintf(", length=%u, bytesused=%u, flags=",
- b.length, b.bytesused);
- printflags(v4l2_buf_flags, b.flags, "V4L2_BUF_FLAG_???");
- if (code == VIDIOC_DQBUF) {
- tprints(", timestamp = ");
- MPERS_FUNC_NAME(print_struct_timeval)(&b.timestamp);
- }
- tprints(", ...");
+ return 0;
+ }
+
+ if (!syserror(tcp) && !umove(tcp, arg, &b)) {
+ if (code == VIDIOC_DQBUF)
+ tprintf(", index=%u", b.index);
+ tprints(", memory=");
+ printxval(v4l2_memories, b.memory, "V4L2_MEMORY_???");
+
+ if (b.memory == V4L2_MEMORY_MMAP) {
+ tprintf(", m.offset=%#x", b.m.offset);
+ } else if (b.memory == V4L2_MEMORY_USERPTR) {
+ tprints(", m.userptr=");
+ printaddr(b.m.userptr);
}
- tprints("}");
+
+ tprintf(", length=%u, bytesused=%u, flags=",
+ b.length, b.bytesused);
+ printflags(v4l2_buf_flags, b.flags, "V4L2_BUF_FLAG_???");
+ if (code == VIDIOC_DQBUF) {
+ tprints(", timestamp = ");
+ MPERS_FUNC_NAME(print_struct_timeval)(&b.timestamp);
+ }
+ tprints(", ...");
}
+
+ tprints("}");
+
return 1;
}
if (umove_or_printaddr(tcp, arg, &s))
return RVAL_DECODED | 1;
tprintf("{index=%u", s.index);
- } else {
- if (!syserror(tcp) && !umove(tcp, arg, &s)) {
- PRINT_FIELD_CSTRING(", ", s, name);
- tprintf(", frameperiod=" FMT_FRACT,
- ARGS_FRACT(s.frameperiod));
- tprintf(", framelines=%d", s.framelines);
- }
- tprints("}");
+
+ return 0;
+ }
+
+ if (!syserror(tcp) && !umove(tcp, arg, &s)) {
+ PRINT_FIELD_CSTRING(", ", s, name);
+ tprintf(", frameperiod=" FMT_FRACT,
+ ARGS_FRACT(s.frameperiod));
+ tprintf(", framelines=%d", s.framelines);
}
+
+ tprints("}");
+
return 1;
}
if (umove_or_printaddr(tcp, arg, &i))
return RVAL_DECODED | 1;
tprintf("{index=%u", i.index);
- } else {
- if (!syserror(tcp) && !umove(tcp, arg, &i)) {
- PRINT_FIELD_CSTRING(", ", i, name);
- tprints(", type=");
- printxval(v4l2_input_types, i.type,
- "V4L2_INPUT_TYPE_???");
- }
- tprints("}");
+
+ return 0;
+ }
+
+ if (!syserror(tcp) && !umove(tcp, arg, &i)) {
+ PRINT_FIELD_CSTRING(", ", i, name);
+ tprints(", type=");
+ printxval(v4l2_input_types, i.type, "V4L2_INPUT_TYPE_???");
}
+
+ tprints("}");
+
return 1;
}
}
tprints("}");
+
return 1;
}
return RVAL_DECODED | 1;
tprints("{type=");
printxval(v4l2_buf_types, c.type, "V4L2_BUF_TYPE_???");
+
return 0;
}
+
if (!syserror(tcp) && !umove(tcp, arg, &c)) {
tprintf(", bounds=" FMT_RECT
", defrect=" FMT_RECT
ARGS_RECT(c.defrect),
ARGS_FRACT(c.pixelaspect));
}
+
tprints("}");
+
return 1;
}
}
tprints("}");
+
return RVAL_DECODED | 1;
}
tprintf(", width=%u, height=%u", f.width, f.height);
return 0;
}
+
if (!syserror(tcp) && !umove(tcp, arg, &f)) {
tprints(", type=");
printxval(v4l2_frameinterval_types, f.type,
break;
}
}
+
tprints("}");
+
return 1;
}
#endif /* VIDIOC_ENUM_FRAMEINTERVALS */
static int
print_v4l2_create_buffers(struct tcb *const tcp, const kernel_ulong_t arg)
{
+ static const char fmt[] = "{index=%u, count=%u}";
+ static char outstr[sizeof(fmt) + sizeof(int) * 6];
+
struct_v4l2_create_buffers b;
if (entering(tcp)) {
(struct_v4l2_format *) &b.format);
tprints("}}");
return 0;
- } else {
- static const char fmt[] = "{index=%u, count=%u}";
- static char outstr[sizeof(fmt) + sizeof(int) * 6];
-
- if (syserror(tcp) || umove(tcp, arg, &b) < 0)
- return 1;
- sprintf(outstr, fmt, b.index, b.count);
- tcp->auxstr = outstr;
- return 1 + RVAL_STR;
}
+
+ if (syserror(tcp) || umove(tcp, arg, &b))
+ return 1;
+
+ sprintf(outstr, fmt, b.index, b.count);
+ tcp->auxstr = outstr;
+
+ return 1 | RVAL_STR;
}
#endif /* VIDIOC_CREATE_BUFS */
case VIDIOC_S_STD: /* W */
tprints(", ");
printnum_int64(tcp, arg, "%#" PRIx64);
- return RVAL_DECODED | 1;
+ break;
case VIDIOC_ENUMSTD: /* RW */
return print_v4l2_standard(tcp, arg);
case VIDIOC_S_INPUT: /* RW */
tprints(", ");
printnum_int(tcp, arg, "%u");
- return RVAL_DECODED | 1;
+ break;
case VIDIOC_CROPCAP: /* RW */
return print_v4l2_cropcap(tcp, arg);
default:
return RVAL_DECODED;
}
+
+ return RVAL_DECODED | 1;
}