On Sat, 25 Apr 2015 12:28:06 -0300 Eduardo Habkost <ehabk...@redhat.com> 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 <ehabk...@redhat.com> 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)); > } >