GHashTableIter iter;
GQueue *any;
- if (ov->depth > 0) {
+ if (ov->depth > 1) {
return;
}
}
+static void
+opts_check_list(Visitor *v, Error **errp)
+{
+ /*
+ * Unvisited list elements will be reported later when checking
+ * whether unvisited struct members remain.
+ */
+}
+
+
static void
opts_end_list(Visitor *v, void **obj)
{
{
OptsVisitor *ov = to_ov(v);
const QemuOpt *opt;
- int64_t val;
int err;
opt = lookup_scalar(ov, name, errp);
return;
}
- err = qemu_strtosz(opt->str ? opt->str : "", NULL, &val);
+ err = qemu_strtosz(opt->str ? opt->str : "", NULL, obj);
if (err < 0) {
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name,
- "a size value representible as a non-negative int64");
+ "a size value");
return;
}
- *obj = val;
processed(ov, name);
}
{
OptsVisitor *ov;
+ assert(opts);
ov = g_malloc0(sizeof *ov);
ov->visitor.type = VISITOR_INPUT;
ov->visitor.start_list = &opts_start_list;
ov->visitor.next_list = &opts_next_list;
+ ov->visitor.check_list = &opts_check_list;
ov->visitor.end_list = &opts_end_list;
ov->visitor.type_int64 = &opts_type_int64;