[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [XEN PATCH v2 6/8] tools/libxenstat: Use json-c when available
- To: Anthony PERARD <anthony@xxxxxxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Thu, 16 Oct 2025 11:59:54 +0200
- Autocrypt: addr=jbeulich@xxxxxxxx; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL
- Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- Delivery-date: Thu, 16 Oct 2025 10:00:17 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 29.09.2025 14:07, Anthony PERARD wrote:
> @@ -88,13 +95,56 @@ static char *qmp_get_block_image(xenstat_node *node, char
> *qmp_devname, int qfd)
> };
> const char *ptr[] = {0, 0};
> unsigned char *qmp_stats;
> - yajl_val info, ret_obj, dev_obj, n;
> int i;
>
> if ((qmp_stats = qmp_query(qfd, query_block_cmd)) == NULL)
> return NULL;
>
> +#ifdef HAVE_LIBJSONC
> + json_object *jso;
> + enum json_tokener_error error;
> + jso = json_tokener_parse_verbose((const char *)qmp_stats, &error);
> + free(qmp_stats);
> + if (jso == NULL)
> + return NULL;
> +
> + ptr[0] = qblock[QMP_BLOCK_RETURN]; /* "return" */
> + json_object *ret_jso = json_object_object_get(jso, ptr[0]);
> + if (ret_jso == NULL)
> + goto done;
> +
> + for (i=0; i<json_object_array_length(ret_jso); i++) {
> + json_object *n = json_object_array_get_idx(ret_jso, i);
> +
> + ptr[0] = qblock[QMP_BLOCK_DEVICE]; /* "device" */
> + json_object *dev_jso = json_object_object_get(n, ptr[0]);
This causes the build to fail for me when building with version 0.12.1 of the
library. The function is marked deprecated there, suggesting to use
json_object_object_get_ex() instead. The deprecation was undone in May 2016,
so we may need to cope with the deprecation (or avoid using the library in
that case).
Jan
|