From 7f798dee2db6c32c7fae23d238e7a806b16b0f08 Mon Sep 17 00:00:00 2001 From: tallua Date: Tue, 6 Apr 2021 00:18:47 +0900 Subject: set node->data pointer to null when unset --- json-glib/json-node.c | 3 +++ json-glib/tests/node.c | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/json-glib/json-node.c b/json-glib/json-node.c index a6898d9..0c8a675 100644 --- a/json-glib/json-node.c +++ b/json-glib/json-node.c @@ -143,16 +143,19 @@ json_node_unset (JsonNode *node) case JSON_NODE_OBJECT: if (node->data.object) json_object_unref (node->data.object); + node->data.object = NULL; break; case JSON_NODE_ARRAY: if (node->data.array) json_array_unref (node->data.array); + //node->data.array = NULL; break; case JSON_NODE_VALUE: if (node->data.value) json_value_unref (node->data.value); + node->data.value = NULL; break; case JSON_NODE_NULL: diff --git a/json-glib/tests/node.c b/json-glib/tests/node.c index 80beb78..5b89db9 100644 --- a/json-glib/tests/node.c +++ b/json-glib/tests/node.c @@ -44,6 +44,22 @@ test_init_string (void) json_node_free (node); } +/* Test that reinit used node */ +static void +test_node_reinit (void) +{ + JsonNode *node = NULL; + JsonArray *array = NULL; + + array = json_array_new (); + node = json_node_init_array (json_node_alloc (), array); + + json_node_init_int(node, 1); + + json_node_free (node); + json_array_unref (array); +} + static void test_copy_null (void) { @@ -545,6 +561,7 @@ test_immutable_parent (void) g_test_trap_assert_stderr ("*Json-CRITICAL **: json_node_set_parent: *"); } + int main (int argc, char *argv[]) @@ -556,6 +573,7 @@ main (int argc, g_test_add_func ("/nodes/init/boolean", test_init_boolean); g_test_add_func ("/nodes/init/string", test_init_string); g_test_add_func ("/nodes/init/null", test_null); + g_test_add_func ("/nodes/init/reinit", test_node_reinit); g_test_add_func ("/nodes/copy/null", test_copy_null); g_test_add_func ("/nodes/copy/value", test_copy_value); g_test_add_func ("/nodes/copy/object", test_copy_object); -- cgit v1.2.1 From d8dafb4170012b6dc1fe09d33c26d40a23f599fb Mon Sep 17 00:00:00 2001 From: tallua Date: Tue, 6 Apr 2021 00:33:28 +0900 Subject: uncomment code --- json-glib/json-node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-glib/json-node.c b/json-glib/json-node.c index 0c8a675..f0bff28 100644 --- a/json-glib/json-node.c +++ b/json-glib/json-node.c @@ -149,7 +149,7 @@ json_node_unset (JsonNode *node) case JSON_NODE_ARRAY: if (node->data.array) json_array_unref (node->data.array); - //node->data.array = NULL; + node->data.array = NULL; break; case JSON_NODE_VALUE: -- cgit v1.2.1 From 6bb246d8c937638e695a91af31ddf156eb8be43b Mon Sep 17 00:00:00 2001 From: tallua Date: Sun, 10 Oct 2021 00:43:40 +0900 Subject: remove/add whitespace for coding convention --- json-glib/tests/node.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/json-glib/tests/node.c b/json-glib/tests/node.c index 5b89db9..7d536f1 100644 --- a/json-glib/tests/node.c +++ b/json-glib/tests/node.c @@ -54,7 +54,7 @@ test_node_reinit (void) array = json_array_new (); node = json_node_init_array (json_node_alloc (), array); - json_node_init_int(node, 1); + json_node_init_int (node, 1); json_node_free (node); json_array_unref (array); @@ -561,7 +561,6 @@ test_immutable_parent (void) g_test_trap_assert_stderr ("*Json-CRITICAL **: json_node_set_parent: *"); } - int main (int argc, char *argv[]) -- cgit v1.2.1 From ea90392f5f12e03a47c0bec60a755423b12d05bd Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Sat, 9 Oct 2021 15:44:58 +0000 Subject: Apply 1 suggestion(s) to 1 file(s) --- json-glib/json-node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-glib/json-node.c b/json-glib/json-node.c index f0bff28..e5c631e 100644 --- a/json-glib/json-node.c +++ b/json-glib/json-node.c @@ -143,7 +143,7 @@ json_node_unset (JsonNode *node) case JSON_NODE_OBJECT: if (node->data.object) json_object_unref (node->data.object); - node->data.object = NULL; + g_clear_pointer (&(node->data.object), json_object_unref); break; case JSON_NODE_ARRAY: -- cgit v1.2.1 From f65506080874b28eda37b622242b172258d9df76 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Sat, 9 Oct 2021 15:45:34 +0000 Subject: Apply 2 suggestion(s) to 1 file(s) --- json-glib/json-node.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/json-glib/json-node.c b/json-glib/json-node.c index e5c631e..57221c1 100644 --- a/json-glib/json-node.c +++ b/json-glib/json-node.c @@ -147,15 +147,11 @@ json_node_unset (JsonNode *node) break; case JSON_NODE_ARRAY: - if (node->data.array) - json_array_unref (node->data.array); - node->data.array = NULL; + g_clear_pointer (&(node->data.array), json_array_unref); break; case JSON_NODE_VALUE: - if (node->data.value) - json_value_unref (node->data.value); - node->data.value = NULL; + g_clear_pointer (&(node->data.value), json_value_unref); break; case JSON_NODE_NULL: -- cgit v1.2.1 From 40996bfad16896b6e715c1d1bad5f72ec3125021 Mon Sep 17 00:00:00 2001 From: tallua Date: Sun, 10 Oct 2021 00:55:51 +0900 Subject: applied suggest change --- json-glib/json-node.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/json-glib/json-node.c b/json-glib/json-node.c index 57221c1..a344670 100644 --- a/json-glib/json-node.c +++ b/json-glib/json-node.c @@ -141,8 +141,6 @@ json_node_unset (JsonNode *node) switch (node->type) { case JSON_NODE_OBJECT: - if (node->data.object) - json_object_unref (node->data.object); g_clear_pointer (&(node->data.object), json_object_unref); break; -- cgit v1.2.1