Now that there are no callers of dynamic JSON parsing, the parser does not need to handle a va_list argument.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- include/qapi/qmp/json-parser.h | 6 +++--- monitor.c | 2 +- qga/main.c | 2 +- qobject/json-parser.c | 34 +++++++++++++++++----------------- qobject/qjson.c | 2 +- tests/libqtest.c | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/include/qapi/qmp/json-parser.h b/include/qapi/qmp/json-parser.h index 9987f8c..fd37f73 100644 --- a/include/qapi/qmp/json-parser.h +++ b/include/qapi/qmp/json-parser.h @@ -1,5 +1,5 @@ /* - * JSON Parser + * JSON Parser * * Copyright IBM, Corp. 2009 * @@ -17,7 +17,7 @@ #include "qemu-common.h" #include "qapi/qmp/qlist.h" -QObject *json_parser_parse(GQueue *tokens, va_list *ap); -QObject *json_parser_parse_err(GQueue *tokens, va_list *ap, Error **errp); +QObject *json_parser_parse(GQueue *tokens); +QObject *json_parser_parse_err(GQueue *tokens, Error **errp); #endif diff --git a/monitor.c b/monitor.c index f86a855..9571e07 100644 --- a/monitor.c +++ b/monitor.c @@ -3731,7 +3731,7 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens) Monitor *mon = cur_mon; Error *err = NULL; - req = json_parser_parse_err(tokens, NULL, &err); + req = json_parser_parse_err(tokens, &err); if (err || !req || qobject_type(req) != QTYPE_QDICT) { if (!err) { error_setg(&err, QERR_JSON_PARSING); diff --git a/qga/main.c b/qga/main.c index 6caf215..7048646 100644 --- a/qga/main.c +++ b/qga/main.c @@ -576,7 +576,7 @@ static void process_event(JSONMessageParser *parser, GQueue *tokens) g_assert(s && parser); g_debug("process_event: called"); - qdict = qobject_to_qdict(json_parser_parse_err(tokens, NULL, &err)); + qdict = qobject_to_qdict(json_parser_parse_err(tokens, &err)); if (err || !qdict) { QDECREF(qdict); qdict = qdict_new(); diff --git a/qobject/json-parser.c b/qobject/json-parser.c index fec1dae..0614a79 100644 --- a/qobject/json-parser.c +++ b/qobject/json-parser.c @@ -37,7 +37,7 @@ typedef struct JSONParserContext * 4) deal with premature EOI */ -static QObject *parse_value(JSONParserContext *ctxt, va_list *ap); +static QObject *parse_value(JSONParserContext *ctxt); /** * Error handler @@ -268,7 +268,7 @@ static void parser_context_free(JSONParserContext *ctxt) /** * Parsing rules */ -static int parse_pair(JSONParserContext *ctxt, QDict *dict, va_list *ap) +static int parse_pair(JSONParserContext *ctxt, QDict *dict) { QObject *key = NULL, *value; JSONToken *peek, *token; @@ -279,7 +279,7 @@ static int parse_pair(JSONParserContext *ctxt, QDict *dict, va_list *ap) goto out; } - key = parse_value(ctxt, ap); + key = parse_value(ctxt); if (!key || qobject_type(key) != QTYPE_QSTRING) { parse_error(ctxt, peek, "key is not a string in object"); goto out; @@ -296,7 +296,7 @@ static int parse_pair(JSONParserContext *ctxt, QDict *dict, va_list *ap) goto out; } - value = parse_value(ctxt, ap); + value = parse_value(ctxt); if (value == NULL) { parse_error(ctxt, token, "Missing value in dict"); goto out; @@ -314,7 +314,7 @@ out: return -1; } -static QObject *parse_object(JSONParserContext *ctxt, va_list *ap) +static QObject *parse_object(JSONParserContext *ctxt) { QDict *dict = NULL; JSONToken *token, *peek; @@ -331,7 +331,7 @@ static QObject *parse_object(JSONParserContext *ctxt, va_list *ap) } if (peek->type != JSON_RCURLY) { - if (parse_pair(ctxt, dict, ap) == -1) { + if (parse_pair(ctxt, dict) == -1) { goto out; } @@ -347,7 +347,7 @@ static QObject *parse_object(JSONParserContext *ctxt, va_list *ap) goto out; } - if (parse_pair(ctxt, dict, ap) == -1) { + if (parse_pair(ctxt, dict) == -1) { goto out; } @@ -368,7 +368,7 @@ out: return NULL; } -static QObject *parse_array(JSONParserContext *ctxt, va_list *ap) +static QObject *parse_array(JSONParserContext *ctxt) { QList *list = NULL; JSONToken *token, *peek; @@ -387,7 +387,7 @@ static QObject *parse_array(JSONParserContext *ctxt, va_list *ap) if (peek->type != JSON_RSQUARE) { QObject *obj; - obj = parse_value(ctxt, ap); + obj = parse_value(ctxt); if (obj == NULL) { parse_error(ctxt, token, "expecting value"); goto out; @@ -407,7 +407,7 @@ static QObject *parse_array(JSONParserContext *ctxt, va_list *ap) goto out; } - obj = parse_value(ctxt, ap); + obj = parse_value(ctxt); if (obj == NULL) { parse_error(ctxt, token, "expecting value"); goto out; @@ -492,7 +492,7 @@ static QObject *parse_literal(JSONParserContext *ctxt) } } -static QObject *parse_value(JSONParserContext *ctxt, va_list *ap) +static QObject *parse_value(JSONParserContext *ctxt) { JSONToken *token; @@ -504,9 +504,9 @@ static QObject *parse_value(JSONParserContext *ctxt, va_list *ap) switch (token->type) { case JSON_LCURLY: - return parse_object(ctxt, ap); + return parse_object(ctxt); case JSON_LSQUARE: - return parse_array(ctxt, ap); + return parse_array(ctxt); case JSON_INTEGER: case JSON_FLOAT: case JSON_STRING: @@ -519,12 +519,12 @@ static QObject *parse_value(JSONParserContext *ctxt, va_list *ap) } } -QObject *json_parser_parse(GQueue *tokens, va_list *ap) +QObject *json_parser_parse(GQueue *tokens) { - return json_parser_parse_err(tokens, ap, NULL); + return json_parser_parse_err(tokens, NULL); } -QObject *json_parser_parse_err(GQueue *tokens, va_list *ap, Error **errp) +QObject *json_parser_parse_err(GQueue *tokens, Error **errp) { JSONParserContext *ctxt = parser_context_new(tokens); QObject *result; @@ -533,7 +533,7 @@ QObject *json_parser_parse_err(GQueue *tokens, va_list *ap, Error **errp) return NULL; } - result = parse_value(ctxt, ap); + result = parse_value(ctxt); error_propagate(errp, ctxt->err); diff --git a/qobject/qjson.c b/qobject/qjson.c index f0ab6df..dcfdd88 100644 --- a/qobject/qjson.c +++ b/qobject/qjson.c @@ -28,7 +28,7 @@ typedef struct JSONParsingState static void parse_json(JSONMessageParser *parser, GQueue *tokens) { JSONParsingState *s = container_of(parser, JSONParsingState, parser); - s->result = json_parser_parse(tokens, NULL); + s->result = json_parser_parse(tokens); } QObject *qobject_from_json(const char *string) diff --git a/tests/libqtest.c b/tests/libqtest.c index a9559d8..6432da3 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -373,7 +373,7 @@ static void qmp_response(JSONMessageParser *parser, GQueue *tokens) QMPResponseParser *qmp = container_of(parser, QMPResponseParser, parser); QObject *obj; - obj = json_parser_parse(tokens, NULL); + obj = json_parser_parse(tokens); if (!obj) { fprintf(stderr, "QMP JSON response parsing failed\n"); exit(1); -- 2.7.4