[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 06/11] libxl: convert libxl__json_object_to_yajl_gen to libxl__json_object_to_libjsonc_object
On 2025-08-08 10:55, Anthony PERARD wrote: From: Anthony PERARD <anthony.perard@xxxxxxxxxx> Convert yajl_gen to json_object from lib json-c. And make use of it in qmp_prepare_cmd(), which can be compiled with either lib. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- diff --git a/tools/libs/light/libxl_json.c b/tools/libs/light/libxl_json.c index 44ee6e213f..b26ac901d6 100644 --- a/tools/libs/light/libxl_json.c +++ b/tools/libs/light/libxl_json.c @@ -631,6 +631,100 @@ const libxl__json_object *libxl__json_map_get(const char *key, return NULL; }+#ifdef HAVE_LIBJSONC+int libxl__json_object_to_json_object(libxl__gc *gc, + json_object **jso_out, + const libxl__json_object *obj) +{ + int idx = 0; + int rc, r; + + switch (obj->type) { + case JSON_NULL: + *jso_out = json_object_new_null(); + return 0; + case JSON_BOOL: + *jso_out = json_object_new_boolean(obj->u.b); + if (!*jso_out) + return ERROR_NOMEM; + return 0; + case JSON_INTEGER: + *jso_out = json_object_new_int64(obj->u.i); + if (!*jso_out) + return ERROR_NOMEM; + return 0; + case JSON_DOUBLE: + *jso_out = json_object_new_double(obj->u.d); + if (!*jso_out) + return ERROR_NOMEM; + return 0; + case JSON_NUMBER: + *jso_out = json_object_new_string(obj->u.string); Is JSON_NUMBER calling json_object_new_string() correct? It looks like the yajl code falls back to a string, so that is okay but surprising. So I just want to double check. If so: Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx> Thanks, Jason + if (!*jso_out) + return ERROR_NOMEM; + return 0;
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |