QJSON: Use OBJECT_CHECK

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 <ehabkost@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
Eduardo Habkost 2015-04-25 12:28:06 -03:00 committed by Luiz Capitulino
parent b951cda21d
commit 4cf2d83734

10
qjson.c
View file

@ -24,6 +24,8 @@ struct QJSON {
bool omit_comma; bool omit_comma;
}; };
#define QJSON(obj) OBJECT_CHECK(QJSON, (obj), TYPE_QJSON)
static void json_emit_element(QJSON *json, const char *name) static void json_emit_element(QJSON *json, const char *name)
{ {
/* Check whether we need to print a , before an element */ /* 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 *qjson_new(void)
{ {
QJSON *json = (QJSON *)object_new(TYPE_QJSON); QJSON *json = QJSON(object_new(TYPE_QJSON));
return json; return json;
} }
@ -98,8 +100,7 @@ void qjson_finish(QJSON *json)
static void qjson_initfn(Object *obj) static void qjson_initfn(Object *obj)
{ {
QJSON *json = (QJSON *)object_dynamic_cast(obj, TYPE_QJSON); QJSON *json = QJSON(obj);
assert(json);
json->str = qstring_from_str("{ "); json->str = qstring_from_str("{ ");
json->omit_comma = true; json->omit_comma = true;
@ -107,9 +108,8 @@ static void qjson_initfn(Object *obj)
static void qjson_finalizefn(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)); qobject_decref(QOBJECT(json->str));
} }