|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/3] libxl_types.idl: use empty Struct for invalid domain type
On Thu, Apr 10, 2014 at 03:50:02PM +0100, Ian Campbell wrote:
> > >
> > > And if it did could we not detect the use of None with an explicit check
> >
> > gentypes does that already. The result is not generating anything.
>
> So make it generate something? That's just a map_open/map_close isn't
> it?
>
So if a keyed-union field is of type None:
diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py
index 1a3b91c..bfb95e2 100644
--- a/tools/libxl/gentypes.py
+++ b/tools/libxl/gentypes.py
@@ -220,6 +220,13 @@ def libxl_C_type_gen_json(ty, v, indent = " ", parent =
None):
s += "case %s:\n" % f.enumname
if f.type is not None:
s += libxl_C_type_gen_json(f.type, fexpr, indent + " ",
nparent)
+ else:
+ s += " yajl_gen_map_open(hand);\n"
+ s += " if (s != yajl_gen_status_ok)\n"
+ s += " goto out;\n"
+ s += " yajl_gen_map_close(hand);\n"
+ s += " if (s != yajl_gen_status_ok)\n"
+ s += " goto out;\n"
s += " break;\n"
s += "}\n"
elif isinstance(ty, idl.Struct) and (parent is None or ty.json_fn is None):
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |