qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] QJSON: Use OBJECT_CHECK
@ 2015-04-25 15:28 Eduardo Habkost
  2015-04-25 17:05 ` Andreas Färber
  2015-05-01 17:16 ` Luiz Capitulino
  0 siblings, 2 replies; 17+ messages in thread
From: Eduardo Habkost @ 2015-04-25 15:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: agraf, Andreas Färber, Juan Quintela

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>
---
 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));
 }
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-05-05 13:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-25 15:28 [Qemu-devel] [PATCH] QJSON: Use OBJECT_CHECK Eduardo Habkost
2015-04-25 17:05 ` Andreas Färber
2015-04-27 17:23   ` Eduardo Habkost
2015-04-29 12:38     ` Luiz Capitulino
2015-04-29 12:46       ` Andreas Färber
2015-04-29 12:54         ` Luiz Capitulino
2015-04-29 12:55       ` Eduardo Habkost
2015-04-29 13:00         ` Luiz Capitulino
2015-05-01 16:19         ` Michael Roth
2015-05-01 16:23           ` Michael Roth
2015-05-02 14:44             ` Alexander Graf
2015-04-29 19:18     ` Paolo Bonzini
2015-05-01 12:04       ` Eduardo Habkost
2015-05-05 12:43     ` Juan Quintela
2015-05-05 12:53       ` Luiz Capitulino
2015-05-05 13:32         ` Juan Quintela
2015-05-01 17:16 ` Luiz Capitulino

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).