Change json_object_put to return 1 if the object passed was actually freed. (or 0...
authorEric Haszlakiewicz <erh+git@nimenees.com>
Thu, 18 Oct 2012 22:10:09 +0000 (17:10 -0500)
committerEric Haszlakiewicz <erh+git@nimenees.com>
Thu, 18 Oct 2012 22:10:09 +0000 (17:10 -0500)
json_object.c
json_object.h

index d11efc5..bb344af 100644 (file)
@@ -139,7 +139,7 @@ extern struct json_object* json_object_get(struct json_object *jso)
   return jso;
 }
 
-extern void json_object_put(struct json_object *jso)
+int json_object_put(struct json_object *jso)
 {
        if(jso)
        {
@@ -149,8 +149,10 @@ extern void json_object_put(struct json_object *jso)
                        if (jso->_user_delete)
                                jso->_user_delete(jso, jso->_userdata);
                        jso->_delete(jso);
+                       return 1;
                }
        }
+       return 0;
 }
 
 
@@ -410,7 +412,7 @@ json_bool json_object_object_get_ex(struct json_object* jso, const char *key, st
 
 void json_object_object_del(struct json_object* jso, const char *key)
 {
-  lh_table_delete(jso->o.c_object, key);
+       lh_table_delete(jso->o.c_object, key);
 }
 
 
index f264629..6c42fc3 100644 (file)
@@ -112,9 +112,9 @@ extern struct json_object* json_object_get(struct json_object *obj);
  * imbalance in the reference count.
  *
  * @param obj the json_object instance
+ * @returns 1 if the object was freed.
  */
-extern void json_object_put(struct json_object *obj);
-
+int json_object_put(struct json_object *obj);
 
 /**
  * Check if the json_object is of a given type