[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 16/32] libxl_json: libxl__json_object_to_json



On Fri, Jul 27, 2018 at 03:05:58PM +0100, Anthony PERARD wrote:
> Allow to generate a JSON string from a libxl__json_object,
> usefull for debugging.
  ^ useful
> 
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

> ---
>  tools/libxl/libxl_internal.h |  3 +++
>  tools/libxl/libxl_json.c     | 36 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 39 insertions(+)
> 
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 8c3625a243..7f200e7a46 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -2129,6 +2129,9 @@ _hidden void libxl__json_object_free(libxl__gc *gc_opt,
>  
>  _hidden libxl__json_object *libxl__json_parse(libxl__gc *gc_opt, const char 
> *s);
>  
> +_hidden char *libxl__json_object_to_json(libxl__gc *gc,
> +                                         const libxl__json_object *args);
> +
>    /* Based on /local/domain/$domid/dm-version xenstore key
>     * default is qemu xen traditional */
>  _hidden int libxl__device_model_version_running(libxl__gc *gc, uint32_t 
> domid);
> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> index b7f9077f0d..16cdd5bda3 100644
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -1017,6 +1017,42 @@ out:
>      return ret;
>  }
>  
> +char *libxl__json_object_to_json(libxl__gc *gc,
> +                                 const libxl__json_object *args)
> +{
> +    const unsigned char *buf;
> +    libxl_yajl_length len;
> +    yajl_gen_status s;
> +    yajl_gen hand;
> +    char *ret = NULL;
> +    int rc;
> +
> +    if (!args)
> +        return NULL;
> +
> +    hand = libxl_yajl_gen_alloc(NULL);
> +

I would remove this newline.

> +    if (!hand) {
> +        return NULL;
> +    }
> +
> +    rc = libxl__json_object_to_yajl_gen(gc, hand, args);
> +    if (rc)
> +        goto out;
> +
> +    s = yajl_gen_get_buf(hand, &buf, &len);
> +

And this one.

> +    if (s) {
> +        goto out;
> +    }

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.