diff options
author | Markus Armbruster <armbru@redhat.com> | 2015-11-25 22:23:27 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-11-26 09:22:57 +0100 |
commit | 50e2a467f5315fa36c547fb6330659ba45f6bb83 (patch) | |
tree | c46cb08799d7aad4a0c302e8917ac0e6f582c6c5 | |
parent | c54616608af442edf4cfb7397a1909c2653efba0 (diff) |
qjson: Inline token_is_keyword() and simplify
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1448486613-17634-7-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
-rw-r--r-- | qobject/json-parser.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/qobject/json-parser.c b/qobject/json-parser.c index 020c6e141e..df76cc3f37 100644 --- a/qobject/json-parser.c +++ b/qobject/json-parser.c @@ -63,15 +63,6 @@ static JSONTokenType token_get_type(QObject *obj) return qdict_get_int(qobject_to_qdict(obj), "type"); } -static int token_is_keyword(QObject *obj, const char *value) -{ - if (token_get_type(obj) != JSON_KEYWORD) { - return 0; - } - - return strcmp(token_get_value(obj), value) == 0; -} - static int token_is_escape(QObject *obj, const char *value) { if (token_get_type(obj) != JSON_ESCAPE) { @@ -533,6 +524,7 @@ static QObject *parse_keyword(JSONParserContext *ctxt) { QObject *token, *ret; JSONParserContext saved_ctxt = parser_context_save(ctxt); + const char *val; token = parser_context_pop_token(ctxt); if (token == NULL) { @@ -543,14 +535,16 @@ static QObject *parse_keyword(JSONParserContext *ctxt) goto out; } - if (token_is_keyword(token, "true")) { + val = token_get_value(token); + + if (!strcmp(val, "true")) { ret = QOBJECT(qbool_from_bool(true)); - } else if (token_is_keyword(token, "false")) { + } else if (!strcmp(val, "false")) { ret = QOBJECT(qbool_from_bool(false)); - } else if (token_is_keyword(token, "null")) { + } else if (!strcmp(val, "null")) { ret = qnull(); } else { - parse_error(ctxt, token, "invalid keyword `%s'", token_get_value(token)); + parse_error(ctxt, token, "invalid keyword '%s'", val); goto out; } |