summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 13:01:32 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 13:01:32 +0100
commitb2ee98f9b0baac019540020e177189b6a3780b83 (patch)
tree01e5d7b8263e630bb412a17e2ad072192a8d4c53 /json-glib/json-parser.c
parent88b11be5eec1da769328e93189bc2f3316c9cd0a (diff)
downloadjson-glib-b2ee98f9b0baac019540020e177189b6a3780b83.tar.gz
Chain up nodes to their parent
When parsing a JSON node we need to correctly set up the parent node of the newly created ones.
Diffstat (limited to 'json-glib/json-parser.c')
-rw-r--r--json-glib/json-parser.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c
index 4d50137..96543b1 100644
--- a/json-glib/json-parser.c
+++ b/json-glib/json-parser.c
@@ -188,6 +188,7 @@ json_parse_array (JsonParser *parser,
return token;
json_array_add_element (array, node);
+ node->parent = priv->current_node;
token = g_scanner_get_next_token (scanner);
if (token == G_TOKEN_RIGHT_BRACE)
@@ -252,7 +253,10 @@ json_parse_array (JsonParser *parser,
}
if (node)
- json_array_add_element (array, node);
+ {
+ json_array_add_element (array, node);
+ node->parent = priv->current_node;
+ }
token = g_scanner_get_next_token (scanner);
}