diff options
Diffstat (limited to 'json-glib')
-rw-r--r-- | json-glib/json-array.c | 54 | ||||
-rw-r--r-- | json-glib/json-object.c | 48 |
2 files changed, 37 insertions, 65 deletions
diff --git a/json-glib/json-array.c b/json-glib/json-array.c index b353ea3..0d65e42 100644 --- a/json-glib/json-array.c +++ b/json-glib/json-array.c @@ -487,14 +487,9 @@ void json_array_add_int_element (JsonArray *array, gint64 value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_int (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_int (json_node_alloc (), value)); } /** @@ -512,14 +507,9 @@ void json_array_add_double_element (JsonArray *array, gdouble value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_double (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_double (json_node_alloc (), value)); } /** @@ -537,14 +527,9 @@ void json_array_add_boolean_element (JsonArray *array, gboolean value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_boolean (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_boolean (json_node_alloc (), value)); } /** @@ -566,13 +551,12 @@ json_array_add_string_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL && *value != '\0') - { - node = json_node_new (JSON_NODE_VALUE); - json_node_set_string (node, value); - } + json_node_init_string (node, value); else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } @@ -590,19 +574,15 @@ json_array_add_string_element (JsonArray *array, void json_array_add_null_element (JsonArray *array) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_NULL); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_null (json_node_alloc ())); } /** * json_array_add_array_element: * @array: a #JsonArray - * @value: (transfer full): a #JsonArray + * @value: (allow-none) (transfer full): a #JsonArray * * Conveniently adds an array into @array. The @array takes ownership * of the newly added #JsonArray @@ -619,13 +599,15 @@ json_array_add_array_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_ARRAY); - json_node_take_array (node, value); + json_node_init_array (node, value); + json_array_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } @@ -650,13 +632,15 @@ json_array_add_object_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_OBJECT); - json_node_take_object (node, value); + json_node_init_object (node, value); + json_object_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } diff --git a/json-glib/json-object.c b/json-glib/json-object.c index acb3c5a..e7a7e29 100644 --- a/json-glib/json-object.c +++ b/json-glib/json-object.c @@ -232,14 +232,10 @@ json_object_set_int_member (JsonObject *object, const gchar *member_name, gint64 value) { - JsonNode *node; - g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_int (node, value); - object_set_member_internal (object, member_name, node); + object_set_member_internal (object, member_name, json_node_init_int (json_node_alloc (), value)); } /** @@ -260,14 +256,10 @@ json_object_set_double_member (JsonObject *object, const gchar *member_name, gdouble value) { - JsonNode *node; - g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_double (node, value); - object_set_member_internal (object, member_name, node); + object_set_member_internal (object, member_name, json_node_init_double (json_node_alloc (), value)); } /** @@ -288,14 +280,10 @@ json_object_set_boolean_member (JsonObject *object, const gchar *member_name, gboolean value) { - JsonNode *node; - g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_boolean (node, value); - object_set_member_internal (object, member_name, node); + object_set_member_internal (object, member_name, json_node_init_boolean (json_node_alloc (), value)); } /** @@ -321,13 +309,12 @@ json_object_set_string_member (JsonObject *object, g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); + node = json_node_alloc (); + if (value != NULL) - { - node = json_node_new (JSON_NODE_VALUE); - json_node_set_string (node, value); - } + json_node_init_string (node, value); else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); object_set_member_internal (object, member_name, node); } @@ -348,13 +335,10 @@ void json_object_set_null_member (JsonObject *object, const gchar *member_name) { - JsonNode *node; - g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); - node = json_node_new (JSON_NODE_NULL); - object_set_member_internal (object, member_name, node); + object_set_member_internal (object, member_name, json_node_init_null (json_node_alloc ())); } /** @@ -382,13 +366,15 @@ json_object_set_array_member (JsonObject *object, g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_ARRAY); - json_node_take_array (node, value); + json_node_init_array (node, value); + json_array_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); object_set_member_internal (object, member_name, node); } @@ -418,13 +404,15 @@ json_object_set_object_member (JsonObject *object, g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_OBJECT); - json_node_take_object (node, value); + json_node_init_object (node, value); + json_object_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); object_set_member_internal (object, member_name, node); } |