qapi: qapi-visit.py, fix list handling for union types
authorMichael Roth <mdroth@linux.vnet.ibm.com>
Fri, 10 May 2013 22:46:01 +0000 (17:46 -0500)
committerLuiz Capitulino <lcapitulino@redhat.com>
Thu, 23 May 2013 13:44:20 +0000 (09:44 -0400)
Currently we assume non-list types when generating visitor routines for
union types. This is broken, since values like ['Type'] need to mapped
to 'TypeList'.

We already have a type_name() function to handle this that we use for
generating struct visitors, so use that here as well.

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Amos Kong <akong@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
scripts/qapi-visit.py

index a276540..4c4de4b 100644 (file)
@@ -174,7 +174,7 @@ void visit_type_%(name)s(Visitor *m, %(name)s ** obj, const char *name, Error **
 ''',
                 abbrev = de_camel_case(name).upper(),
                 enum = c_fun(de_camel_case(key),False).upper(),
-                c_type=members[key],
+                c_type=type_name(members[key]),
                 c_name=c_fun(key))
 
     ret += mcgen('''