aboutsummaryrefslogtreecommitdiff
path: root/scripts/qapi-visit.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/qapi-visit.py')
-rw-r--r--scripts/qapi-visit.py22
1 files changed, 1 insertions, 21 deletions
diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
index bc6911f8fe..4f97781348 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -85,27 +85,7 @@ static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s **obj, Error **e
c_type=base.c_name(), c_name=c_name('base'))
ret += gen_err_check()
- for memb in members:
- if memb.optional:
- ret += mcgen('''
- visit_optional(v, &(*obj)->has_%(c_name)s, "%(name)s", &err);
- if (!err && (*obj)->has_%(c_name)s) {
-''',
- c_name=c_name(memb.name), name=memb.name)
- push_indent()
-
- ret += mcgen('''
- visit_type_%(c_type)s(v, &(*obj)->%(c_name)s, "%(name)s", &err);
-''',
- c_type=memb.type.c_name(), c_name=c_name(memb.name),
- name=memb.name)
-
- if memb.optional:
- pop_indent()
- ret += mcgen('''
- }
-''')
- ret += gen_err_check()
+ ret += gen_visit_fields(members, prefix='(*obj)->')
if re.search('^ *goto out;', ret, re.MULTILINE):
ret += mcgen('''