From: Eric Haszlakiewicz Date: Thu, 18 Oct 2012 22:10:09 +0000 (-0500) Subject: Change json_object_put to return 1 if the object passed was actually freed. (or 0... X-Git-Tag: json-c-0.11-20130402~39 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=5f4739e2eb6407a6fae898802d165daab1ad7986;p=thirdparty%2Fjson-c.git Change json_object_put to return 1 if the object passed was actually freed. (or 0 if only the reference count was decremented) --- diff --git a/json_object.c b/json_object.c index d11efc52..bb344af0 100644 --- a/json_object.c +++ b/json_object.c @@ -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); } diff --git a/json_object.h b/json_object.h index f264629c..6c42fc32 100644 --- a/json_object.h +++ b/json_object.h @@ -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