[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl_json: Export json_object related function.
# HG changeset patch # User Anthony PERARD <anthony.perard@xxxxxxxxxx> # Date 1349693129 -3600 # Node ID c9b80c7f8db1a5d26906a2298c481bf7e87fda94 # Parent 93e3e6a33e0a1ec9f92fc575334caa35e6dbc757 libxl_json: Export json_object related function. Export libxl__json_object_alloc and libxl__json_object_append_to to use them in a later patch. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- diff -r 93e3e6a33e0a -r c9b80c7f8db1 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Mon Oct 08 11:45:29 2012 +0100 +++ b/tools/libxl/libxl_internal.h Mon Oct 08 11:45:29 2012 +0100 @@ -1516,6 +1516,15 @@ static inline long long libxl__json_obje return -1; } +/* + * NOGC can be used with those json_object functions, but the + * libxl__json_object* will need to be freed with libxl__json_object_free. + */ +_hidden libxl__json_object *libxl__json_object_alloc(libxl__gc *gc_opt, + libxl__json_node_type type); +_hidden int libxl__json_object_append_to(libxl__gc *gc_opt, + libxl__json_object *obj, + libxl__json_object *dst); _hidden libxl__json_object *libxl__json_array_get(const libxl__json_object *o, int i); _hidden @@ -1524,9 +1533,10 @@ libxl__json_map_node *libxl__json_map_no _hidden const libxl__json_object *libxl__json_map_get(const char *key, const libxl__json_object *o, libxl__json_node_type expected_type); -_hidden void libxl__json_object_free(libxl__gc *gc, libxl__json_object *obj); - -_hidden libxl__json_object *libxl__json_parse(libxl__gc *gc, const char *s); +_hidden void libxl__json_object_free(libxl__gc *gc_opt, + libxl__json_object *obj); + +_hidden libxl__json_object *libxl__json_parse(libxl__gc *gc_opt, const char *s); /* Based on /local/domain/$domid/dm-version xenstore key * default is qemu xen traditional */ diff -r 93e3e6a33e0a -r c9b80c7f8db1 tools/libxl/libxl_json.c --- a/tools/libxl/libxl_json.c Mon Oct 08 11:45:29 2012 +0100 +++ b/tools/libxl/libxl_json.c Mon Oct 08 11:45:29 2012 +0100 @@ -205,7 +205,7 @@ yajl_gen_status libxl__string_gen_json(y * libxl__json_object helper functions */ -static libxl__json_object *json_object_alloc(libxl__gc *gc, +libxl__json_object *libxl__json_object_alloc(libxl__gc *gc, libxl__json_node_type type) { libxl__json_object *obj; @@ -225,7 +225,7 @@ static libxl__json_object *json_object_a return obj; } -static int json_object_append_to(libxl__gc *gc, +int libxl__json_object_append_to(libxl__gc *gc, libxl__json_object *obj, libxl__json_object *dst) { @@ -378,9 +378,9 @@ static int json_callback_null(void *opaq DEBUG_GEN(ctx, null); - obj = json_object_alloc(ctx->gc, JSON_NULL); + obj = libxl__json_object_alloc(ctx->gc, JSON_NULL); - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } @@ -394,10 +394,10 @@ static int json_callback_boolean(void *o DEBUG_GEN_VALUE(ctx, bool, boolean); - obj = json_object_alloc(ctx->gc, - boolean ? JSON_TRUE : JSON_FALSE); + obj = libxl__json_object_alloc(ctx->gc, + boolean ? JSON_TRUE : JSON_FALSE); - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } @@ -429,7 +429,7 @@ static int json_callback_number(void *op goto error; } - obj = json_object_alloc(ctx->gc, JSON_DOUBLE); + obj = libxl__json_object_alloc(ctx->gc, JSON_DOUBLE); obj->u.d = d; } else { long long i = strtoll(s, NULL, 10); @@ -438,14 +438,14 @@ static int json_callback_number(void *op goto error; } - obj = json_object_alloc(ctx->gc, JSON_INTEGER); + obj = libxl__json_object_alloc(ctx->gc, JSON_INTEGER); obj->u.i = i; } goto out; error: /* If the conversion fail, we just store the original string. */ - obj = json_object_alloc(ctx->gc, JSON_NUMBER); + obj = libxl__json_object_alloc(ctx->gc, JSON_NUMBER); t = libxl__zalloc(ctx->gc, len + 1); strncpy(t, s, len); @@ -454,7 +454,7 @@ error: obj->u.string = t; out: - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } @@ -475,10 +475,10 @@ static int json_callback_string(void *op strncpy(t, (const char *) str, len); t[len] = 0; - obj = json_object_alloc(ctx->gc, JSON_STRING); + obj = libxl__json_object_alloc(ctx->gc, JSON_STRING); obj->u.string = t; - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } @@ -524,10 +524,10 @@ static int json_callback_start_map(void DEBUG_GEN(ctx, map_open); - obj = json_object_alloc(ctx->gc, JSON_MAP); + obj = libxl__json_object_alloc(ctx->gc, JSON_MAP); if (ctx->current) { - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } } @@ -564,10 +564,10 @@ static int json_callback_start_array(voi DEBUG_GEN(ctx, array_open); - obj = json_object_alloc(ctx->gc, JSON_ARRAY); + obj = libxl__json_object_alloc(ctx->gc, JSON_ARRAY); if (ctx->current) { - if (json_object_append_to(ctx->gc, obj, ctx->current) == -1) { + if (libxl__json_object_append_to(ctx->gc, obj, ctx->current) == -1) { return 0; } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |