From 5f4739e2eb6407a6fae898802d165daab1ad7986 Mon Sep 17 00:00:00 2001 From: Eric Haszlakiewicz Date: Thu, 18 Oct 2012 17:10:09 -0500 Subject: [PATCH] Change json_object_put to return 1 if the object passed was actually freed. (or 0 if only the reference count was decremented) --- json_object.c | 6 ++++-- json_object.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/json_object.c b/json_object.c index d11efc5..bb344af 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 f264629..6c42fc3 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