diff options
| -rw-r--r-- | json-glib/json-parser.c | 12 | ||||
| -rw-r--r-- | tests/test-02.c | 1 |
2 files changed, 12 insertions, 1 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c index 5df7999..1f73c45 100644 --- a/json-glib/json-parser.c +++ b/json-glib/json-parser.c @@ -773,7 +773,17 @@ json_parse_statement (JsonParser *parser, priv->has_assignment = TRUE; priv->variable_name = name; - return json_parse_statement (parser, scanner); + token = json_parse_statement (parser, scanner); + + /* remove the trailing semi-colon */ + next_token = g_scanner_peek_next_token (scanner); + if (next_token == ';') + { + token = g_scanner_get_next_token (scanner); + return G_TOKEN_NONE; + } + + return token; } break; diff --git a/tests/test-02.c b/tests/test-02.c index b5fb7a8..46938ef 100644 --- a/tests/test-02.c +++ b/tests/test-02.c @@ -14,6 +14,7 @@ static const gchar *test_arrays[] = { "[ true, { } ]", "[ false, { \"test\" : 42 } ]", "var test = [ false, false, true ]", + "var test = [ true, 42 ];", }; static guint n_test_arrays = G_N_ELEMENTS (test_arrays); |
