From 1f9b3e50282f8aa4a421c83ad596f6186ef82ec9 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Sat, 10 Nov 2007 15:12:20 +0000 Subject: When parsing a full assignment, also swallow any trailing semi-colon There's no end to web developers insanity when they can twist and turn a perfectly simple and elegant notation into something that allows lazyness and breakage. --- json-glib/json-parser.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'json-glib/json-parser.c') 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; -- cgit v1.2.1