]> Git Repo - qemu.git/blobdiff - scripts/qapi-commands.py
target-i386: fix pcmpxstrx equal-ordered (strstr) mode
[qemu.git] / scripts / qapi-commands.py
index 4e99c1de8b76c005a4cf8330f70baea6a426f101..43a893b4eb0a872aa47a14de31fb93651c41fc71 100644 (file)
@@ -101,44 +101,17 @@ def gen_marshal_input_visit(arg_type, dealloc=False):
         return ret
 
     if dealloc:
-        errparg = 'NULL'
-        errarg = None
         ret += mcgen('''
     qmp_input_visitor_cleanup(qiv);
     qdv = qapi_dealloc_visitor_new();
     v = qapi_dealloc_get_visitor(qdv);
 ''')
     else:
-        errparg = '&err'
-        errarg = 'err'
         ret += mcgen('''
     v = qmp_input_get_visitor(qiv);
 ''')
 
-    for memb in arg_type.members:
-        if memb.optional:
-            ret += mcgen('''
-    visit_optional(v, &has_%(c_name)s, "%(name)s", %(errp)s);
-''',
-                         c_name=c_name(memb.name), name=memb.name,
-                         errp=errparg)
-            ret += gen_err_check(err=errarg)
-            ret += mcgen('''
-    if (has_%(c_name)s) {
-''',
-                         c_name=c_name(memb.name))
-            push_indent()
-        ret += mcgen('''
-    visit_type_%(c_type)s(v, &%(c_name)s, "%(name)s", %(errp)s);
-''',
-                     c_name=c_name(memb.name), name=memb.name,
-                     c_type=memb.type.c_name(), errp=errparg)
-        ret += gen_err_check(err=errarg)
-        if memb.optional:
-            pop_indent()
-            ret += mcgen('''
-    }
-''')
+    ret += gen_visit_fields(arg_type.members, skiperr=dealloc)
 
     if dealloc:
         ret += mcgen('''
This page took 0.024654 seconds and 4 git commands to generate.