summaryrefslogtreecommitdiff
path: root/json-glib/json-array.c
diff options
context:
space:
mode:
authorPhilip Withnall <philip.withnall@collabora.co.uk>2015-11-07 17:38:22 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2016-03-01 14:53:02 +0000
commit1de237a502ceee96df7091c2df4492b8bc08b2c5 (patch)
treec9f51fdc9c370b57abe75e97200b3747a5f326bb /json-glib/json-array.c
parent58f479b60eb2db4c73605d469d68a8ffd8679327 (diff)
downloadjson-glib-1de237a502ceee96df7091c2df4492b8bc08b2c5.tar.gz
node: Add json_node_ref() and json_node_unref()
Add reference counting semantics to JsonNode, in addition to the existing init/unset and alloc/free semantics. json_node_free() must only be used with nodes allocated using json_node_alloc(). json_node_unref() may be used with all nodes (if correctly paired; it may be paired with json_node_alloc()). It is not valid to call json_node_free() on a node whose reference count is not 1. https://bugzilla.gnome.org/show_bug.cgi?id=756121
Diffstat (limited to 'json-glib/json-array.c')
-rw-r--r--json-glib/json-array.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/json-glib/json-array.c b/json-glib/json-array.c
index 05cde4a..cc9c979 100644
--- a/json-glib/json-array.c
+++ b/json-glib/json-array.c
@@ -124,7 +124,7 @@ json_array_unref (JsonArray *array)
guint i;
for (i = 0; i < array->elements->len; i++)
- json_node_free (g_ptr_array_index (array->elements, i));
+ json_node_unref (g_ptr_array_index (array->elements, i));
g_ptr_array_free (array->elements, TRUE);
array->elements = NULL;
@@ -217,7 +217,7 @@ json_array_get_elements (JsonArray *array)
* element at @index_ inside a #JsonArray
*
* Return value: (transfer full): a copy of the #JsonNode at the requested
- * index. Use json_node_free() when done.
+ * index. Use json_node_unref() when done.
*
* Since: 0.6
*/
@@ -706,7 +706,7 @@ json_array_remove_element (JsonArray *array,
g_return_if_fail (array != NULL);
g_return_if_fail (index_ < array->elements->len);
- json_node_free (g_ptr_array_remove_index (array->elements, index_));
+ json_node_unref (g_ptr_array_remove_index (array->elements, index_));
}
/**