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>
This commit is contained in:
parent
c54616608a
commit
50e2a467f5
|
@ -63,15 +63,6 @@ static JSONTokenType token_get_type(QObject *obj)
|
||||||
return qdict_get_int(qobject_to_qdict(obj), "type");
|
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)
|
static int token_is_escape(QObject *obj, const char *value)
|
||||||
{
|
{
|
||||||
if (token_get_type(obj) != JSON_ESCAPE) {
|
if (token_get_type(obj) != JSON_ESCAPE) {
|
||||||
|
@ -533,6 +524,7 @@ static QObject *parse_keyword(JSONParserContext *ctxt)
|
||||||
{
|
{
|
||||||
QObject *token, *ret;
|
QObject *token, *ret;
|
||||||
JSONParserContext saved_ctxt = parser_context_save(ctxt);
|
JSONParserContext saved_ctxt = parser_context_save(ctxt);
|
||||||
|
const char *val;
|
||||||
|
|
||||||
token = parser_context_pop_token(ctxt);
|
token = parser_context_pop_token(ctxt);
|
||||||
if (token == NULL) {
|
if (token == NULL) {
|
||||||
|
@ -543,14 +535,16 @@ static QObject *parse_keyword(JSONParserContext *ctxt)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (token_is_keyword(token, "true")) {
|
val = token_get_value(token);
|
||||||
|
|
||||||
|
if (!strcmp(val, "true")) {
|
||||||
ret = QOBJECT(qbool_from_bool(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));
|
ret = QOBJECT(qbool_from_bool(false));
|
||||||
} else if (token_is_keyword(token, "null")) {
|
} else if (!strcmp(val, "null")) {
|
||||||
ret = qnull();
|
ret = qnull();
|
||||||
} else {
|
} else {
|
||||||
parse_error(ctxt, token, "invalid keyword `%s'", token_get_value(token));
|
parse_error(ctxt, token, "invalid keyword '%s'", val);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue