[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] QJSON: Use OBJECT_CHECK
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH] QJSON: Use OBJECT_CHECK |
Date: |
Fri, 1 May 2015 13:16:02 -0400 |
On Sat, 25 Apr 2015 12:28:06 -0300
Eduardo Habkost <address@hidden> wrote:
> The QJSON code used casts to (QJSON*) directly, instead of OBJECT_CHECK.
> There were even some functions using object_dynamic_cast() calls
> followed by assert(), which is exactly what OBJECT_CHECK does (by
> calling object_dynamic_cast_assert()).
>
> Signed-off-by: Eduardo Habkost <address@hidden>
Applied to the qmp branch, thanks.
> ---
> qjson.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/qjson.c b/qjson.c
> index 0cda269..e478802 100644
> --- a/qjson.c
> +++ b/qjson.c
> @@ -24,6 +24,8 @@ struct QJSON {
> bool omit_comma;
> };
>
> +#define QJSON(obj) OBJECT_CHECK(QJSON, (obj), TYPE_QJSON)
> +
> static void json_emit_element(QJSON *json, const char *name)
> {
> /* Check whether we need to print a , before an element */
> @@ -87,7 +89,7 @@ const char *qjson_get_str(QJSON *json)
>
> QJSON *qjson_new(void)
> {
> - QJSON *json = (QJSON *)object_new(TYPE_QJSON);
> + QJSON *json = QJSON(object_new(TYPE_QJSON));
> return json;
> }
>
> @@ -98,8 +100,7 @@ void qjson_finish(QJSON *json)
>
> static void qjson_initfn(Object *obj)
> {
> - QJSON *json = (QJSON *)object_dynamic_cast(obj, TYPE_QJSON);
> - assert(json);
> + QJSON *json = QJSON(obj);
>
> json->str = qstring_from_str("{ ");
> json->omit_comma = true;
> @@ -107,9 +108,8 @@ static void qjson_initfn(Object *obj)
>
> static void qjson_finalizefn(Object *obj)
> {
> - QJSON *json = (QJSON *)object_dynamic_cast(obj, TYPE_QJSON);
> + QJSON *json = QJSON(obj);
>
> - assert(json);
> qobject_decref(QOBJECT(json->str));
> }
>