From c54616608af442edf4cfb7397a1909c2653efba0 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 25 Nov 2015 22:23:26 +0100 Subject: qjson: Give each of the six structural chars its own token type Simplifies things, because we always check for a specific one. Signed-off-by: Markus Armbruster Message-Id: <1448486613-17634-6-git-send-email-armbru@redhat.com> Reviewed-by: Eric Blake --- qobject/json-streamer.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'qobject/json-streamer.c') diff --git a/qobject/json-streamer.c b/qobject/json-streamer.c index 2bd22a738e..4a161a17a1 100644 --- a/qobject/json-streamer.c +++ b/qobject/json-streamer.c @@ -26,23 +26,21 @@ static void json_message_process_token(JSONLexer *lexer, QString *token, JSONTok JSONMessageParser *parser = container_of(lexer, JSONMessageParser, lexer); QDict *dict; - if (type == JSON_OPERATOR) { - switch (qstring_get_str(token)[0]) { - case '{': - parser->brace_count++; - break; - case '}': - parser->brace_count--; - break; - case '[': - parser->bracket_count++; - break; - case ']': - parser->bracket_count--; - break; - default: - break; - } + switch (type) { + case JSON_LCURLY: + parser->brace_count++; + break; + case JSON_RCURLY: + parser->brace_count--; + break; + case JSON_LSQUARE: + parser->bracket_count++; + break; + case JSON_RSQUARE: + parser->bracket_count--; + break; + default: + break; } dict = qdict_new(); -- cgit 1.4.1