summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'json-glib/json-parser.c')
-rw-r--r--json-glib/json-parser.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c
index 4700ff3..e8aed72 100644
--- a/json-glib/json-parser.c
+++ b/json-glib/json-parser.c
@@ -392,6 +392,9 @@ json_parse_array (JsonParser *parser,
if (token == G_TOKEN_RIGHT_BRACE)
break;
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_RIGHT_BRACE;
+
continue;
}
@@ -425,6 +428,9 @@ json_parse_array (JsonParser *parser,
if (token == G_TOKEN_RIGHT_BRACE)
break;
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_RIGHT_BRACE;
+
continue;
}
@@ -489,6 +495,8 @@ json_parse_array (JsonParser *parser,
}
token = g_scanner_get_next_token (scanner);
+ if (token != G_TOKEN_COMMA && token != G_TOKEN_RIGHT_BRACE)
+ return G_TOKEN_RIGHT_BRACE;
}
json_node_take_array (priv->current_node, array);
@@ -692,6 +700,8 @@ json_parse_object (JsonParser *parser,
g_free (name);
token = g_scanner_get_next_token (scanner);
+ if (token != G_TOKEN_COMMA && token != G_TOKEN_RIGHT_CURLY)
+ return G_TOKEN_RIGHT_CURLY;
}
json_node_take_object (priv->current_node, object);