From 1de237a502ceee96df7091c2df4492b8bc08b2c5 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Sat, 7 Nov 2015 17:38:22 +0100 Subject: 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 --- json-glib/json-builder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'json-glib/json-builder.c') diff --git a/json-glib/json-builder.c b/json-glib/json-builder.c index 6531b0c..66a5796 100644 --- a/json-glib/json-builder.c +++ b/json-glib/json-builder.c @@ -125,7 +125,7 @@ json_builder_free_all_state (JsonBuilder *builder) if (builder->priv->root) { - json_node_free (builder->priv->root); + json_node_unref (builder->priv->root); builder->priv->root = NULL; } } @@ -272,7 +272,7 @@ json_builder_new_immutable (void) * (ie: all opened objects, object members and arrays are being closed). * * Return value: (transfer full): the #JsonNode, or %NULL if the build is not complete. - * Free the returned value with json_node_free(). + * Free the returned value with json_node_unref(). */ JsonNode * json_builder_get_root (JsonBuilder *builder) -- cgit v1.2.1