diff --git a/msvc/unicorn/qapi-visit.c b/msvc/unicorn/qapi-visit.c index e2a7e1c1..590db3d5 100644 --- a/msvc/unicorn/qapi-visit.c +++ b/msvc/unicorn/qapi-visit.c @@ -16,11 +16,11 @@ #include "qemu-common.h" #include "qapi-visit.h" -static void visit_type_DummyForceArrays_fields(Visitor *v, DummyForceArrays **obj, Error **errp) +static void visit_type_DummyForceArrays_fields(Visitor *v, DummyForceArrays *obj, Error **errp) { Error *err = NULL; - visit_type_X86CPUFeatureWordInfoList(v, "unused", &(*obj)->unused, &err); + visit_type_X86CPUFeatureWordInfoList(v, "unused", &obj->unused, &err); if (err) { goto out; } @@ -34,14 +34,13 @@ void visit_type_DummyForceArrays(Visitor *v, const char *name, DummyForceArrays Error *err = NULL; visit_start_struct(v, name, (void **)obj, sizeof(DummyForceArrays), &err); - if (err) { goto out; } if (!*obj) { goto out_obj; } - visit_type_DummyForceArrays_fields(v, obj, &err); + visit_type_DummyForceArrays_fields(v, *obj, &err); error_propagate(errp, err); err = NULL; out_obj: @@ -64,25 +63,25 @@ void visit_type_QapiErrorClass(Visitor *v, const char *name, QapiErrorClass *obj *obj = value; } -static void visit_type_X86CPUFeatureWordInfo_fields(Visitor *v, X86CPUFeatureWordInfo **obj, Error **errp) +static void visit_type_X86CPUFeatureWordInfo_fields(Visitor *v, X86CPUFeatureWordInfo *obj, Error **errp) { Error *err = NULL; - visit_type_int(v, "cpuid-input-eax", &(*obj)->cpuid_input_eax, &err); + visit_type_int(v, "cpuid-input-eax", &obj->cpuid_input_eax, &err); if (err) { goto out; } - if (visit_optional(v, "cpuid-input-ecx", &(*obj)->has_cpuid_input_ecx)) { - visit_type_int(v, "cpuid-input-ecx", &(*obj)->cpuid_input_ecx, &err); + if (visit_optional(v, "cpuid-input-ecx", &obj->has_cpuid_input_ecx)) { + visit_type_int(v, "cpuid-input-ecx", &obj->cpuid_input_ecx, &err); if (err) { goto out; } } - visit_type_X86CPURegister32(v, "cpuid-register", &(*obj)->cpuid_register, &err); + visit_type_X86CPURegister32(v, "cpuid-register", &obj->cpuid_register, &err); if (err) { goto out; } - visit_type_int(v, "features", &(*obj)->features, &err); + visit_type_int(v, "features", &obj->features, &err); if (err) { goto out; } @@ -96,14 +95,13 @@ void visit_type_X86CPUFeatureWordInfo(Visitor *v, const char *name, X86CPUFeatur Error *err = NULL; visit_start_struct(v, name, (void **)obj, sizeof(X86CPUFeatureWordInfo), &err); - if (err) { goto out; } if (!*obj) { goto out_obj; } - visit_type_X86CPUFeatureWordInfo_fields(v, obj, &err); + visit_type_X86CPUFeatureWordInfo_fields(v, *obj, &err); error_propagate(errp, err); err = NULL; out_obj: diff --git a/qemu/scripts/qapi-visit.py b/qemu/scripts/qapi-visit.py index caef45fd..30d915a6 100644 --- a/qemu/scripts/qapi-visit.py +++ b/qemu/scripts/qapi-visit.py @@ -38,7 +38,7 @@ def gen_visit_fields_decl(typ): if typ.name not in struct_fields_seen: ret += mcgen(''' -static void visit_type_%(c_type)s_fields(Visitor *v, %(c_type)s **obj, Error **errp); +static void visit_type_%(c_type)s_fields(Visitor *v, %(c_type)s *obj, Error **errp); ''', c_type=typ.c_name()) struct_fields_seen.add(typ.name) @@ -59,7 +59,7 @@ static void visit_type_implicit_%(c_type)s(Visitor *v, %(c_type)s **obj, Error * visit_start_implicit_struct(v, (void **)obj, sizeof(%(c_type)s), &err); if (!err) { - visit_type_%(c_type)s_fields(v, obj, errp); + visit_type_%(c_type)s_fields(v, *obj, errp); visit_end_implicit_struct(v); } error_propagate(errp, err); @@ -82,7 +82,7 @@ def gen_visit_struct_fields(name, base, members, variants): struct_fields_seen.add(name) ret += mcgen(''' -static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s **obj, Error **errp) +static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s *obj, Error **errp) { Error *err = NULL; @@ -91,19 +91,19 @@ static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s **obj, Error **e if base: ret += mcgen(''' - visit_type_%(c_type)s_fields(v, (%(c_type)s **)obj, &err); + visit_type_%(c_type)s_fields(v, (%(c_type)s *)obj, &err); ''', c_type=base.c_name()) ret += gen_err_check() - ret += gen_visit_fields(members, prefix='(*obj)->') + ret += gen_visit_fields(members, prefix='obj->') if variants: ret += mcgen(''' - if (!visit_start_union(v, !!(*obj)->u.data, &err) || err) { + if (!visit_start_union(v, !!obj->u.data, &err) || err) { goto out; } - switch ((*obj)->%(c_name)s) { + switch (obj->%(c_name)s) { ''', c_name=c_name(variants.tag_member.name)) @@ -118,13 +118,13 @@ static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s **obj, Error **e variants.tag_member.type.prefix)) if simple_union_type: ret += mcgen(''' - visit_type_%(c_type)s(v, "data", &(*obj)->u.%(c_name)s, &err); + visit_type_%(c_type)s(v, "data", &obj->u.%(c_name)s, &err); ''', c_type=simple_union_type.c_name(), c_name=c_name(var.name)) else: ret += mcgen(''' - visit_type_implicit_%(c_type)s(v, &(*obj)->u.%(c_name)s, &err); + visit_type_implicit_%(c_type)s(v, &obj->u.%(c_name)s, &err); ''', c_type=var.type.c_name(), c_name=c_name(var.name)) @@ -271,7 +271,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error if (!*obj) { goto out_obj; } - visit_type_%(c_name)s_fields(v, obj, &err); + visit_type_%(c_name)s_fields(v, *obj, &err); error_propagate(errp, err); err = NULL; out_obj: