From 172c47d1c85ac1f54805f04dd6bcd62bb35fa3a4 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Thu, 10 Apr 2014 16:26:31 +0100 Subject: [PATCH] libxl/gentypes.py: don't generate JSON for private type(s) Private types are only useful inside libxl. They don't have a valid JSON generation function by default. Currently there's only one private type, that's libxl_ev_link. Not skipping this field causes testidl to fail as the code generated for this type is NULL. Signed-off-by: Wei Liu Acked-by: Ian Campbell --- tools/libxl/gentypes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py index be06257d0d..1a3b91cf68 100644 --- a/tools/libxl/gentypes.py +++ b/tools/libxl/gentypes.py @@ -226,7 +226,7 @@ def libxl_C_type_gen_json(ty, v, indent = " ", parent = None): s += "s = yajl_gen_map_open(hand);\n" s += "if (s != yajl_gen_status_ok)\n" s += " goto out;\n" - for f in [f for f in ty.fields if not f.const]: + for f in [f for f in ty.fields if not f.const and not f.type.private]: (nparent,fexpr) = ty.member(v, f, parent is None) s += "s = yajl_gen_string(hand, (const unsigned char *)\"%s\", sizeof(\"%s\")-1);\n" % (f.name, f.name) s += "if (s != yajl_gen_status_ok)\n" -- 2.30.2