[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V2 2/9] libxl_json: Export json_object related function.
On Mon, 2012-09-17 at 19:22 +0100, Anthony PERARD wrote: > 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> > --- > tools/libxl/libxl_internal.h | 8 ++++++++ > tools/libxl/libxl_json.c | 34 +++++++++++++++++----------------- > 2 files changed, 25 insertions(+), 17 deletions(-) > > diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h > index b6f54ba..3c2dcaa 100644 > --- a/tools/libxl/libxl_internal.h > +++ b/tools/libxl/libxl_internal.h > @@ -1511,6 +1511,14 @@ static inline long long > libxl__json_object_get_integer(const libxl__json_object > return -1; > } > > +/* Objects allocated using this function must be free with > + * libxl__json_object_free. > + */ > +_hidden libxl__json_object *libxl__json_object_alloc(libxl__gc *gc, > + libxl__json_node_type > type); > +_hidden int libxl__json_object_append_to(libxl__gc *gc, > + libxl__json_object *obj, > + libxl__json_object *dst); > _hidden libxl__json_object *libxl__json_array_get(const libxl__json_object > *o, > int i); > _hidden > diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c > index 9c3dca2..0539865 100644 > --- a/tools/libxl/libxl_json.c > +++ b/tools/libxl/libxl_json.c > @@ -205,7 +205,7 @@ yajl_gen_status libxl__string_gen_json(yajl_gen hand, > * 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; > @@ -231,7 +231,7 @@ static libxl__json_object *json_object_alloc(libxl__gc > *gc, > 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) > { > @@ -388,9 +388,9 @@ static int json_callback_null(void *opaque) > > 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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } > @@ -405,10 +405,10 @@ static int json_callback_boolean(void *opaque, int > boolean) > > 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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } > @@ -441,7 +441,7 @@ static int json_callback_number(void *opaque, const char > *s, libxl_yajl_length l > 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); > @@ -450,14 +450,14 @@ static int json_callback_number(void *opaque, const > char *s, libxl_yajl_length l > 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 = malloc(len + 1); > if (t == NULL) { > @@ -471,7 +471,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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } > @@ -498,10 +498,10 @@ static int json_callback_string(void *opaque, const > unsigned char *str, > 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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } > @@ -560,10 +560,10 @@ static int json_callback_start_map(void *opaque) > > 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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } > @@ -601,10 +601,10 @@ static int json_callback_start_array(void *opaque) > > 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) { > libxl__json_object_free(ctx->gc, obj); > return 0; > } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |