From ff281a272f67a07d8ea29ca0350c4a3e0d3de73c Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 23 Aug 2018 18:40:02 +0200 Subject: json: Don't pass null @tokens to json_parser_parse() json_parser_parse() normally returns the QObject on success. Except it returns null when its @tokens argument is null. Its only caller json_message_process_token() passes null @tokens when emitting a lexical error. The call is a rather opaque way to say json = NULL then. Simplify matters by lifting the assignment to json out of the emit path: initialize json to null, set it to the value of json_parser_parse() when there's no lexical error. Drop the special case from json_parser_parse(). Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <20180823164025.12553-36-armbru@redhat.com> --- qobject/json-parser.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'qobject/json-parser.c') diff --git a/qobject/json-parser.c b/qobject/json-parser.c index 95fa348e21..06aff19a5d 100644 --- a/qobject/json-parser.c +++ b/qobject/json-parser.c @@ -546,10 +546,6 @@ QObject *json_parser_parse(GQueue *tokens, va_list *ap, Error **errp) JSONParserContext ctxt = { .buf = tokens }; QObject *result; - if (!tokens) { - return NULL; - } - result = parse_value(&ctxt, ap); error_propagate(errp, ctxt.err); -- cgit 1.4.1