From: Markus Armbruster Date: Mon, 6 Aug 2018 06:53:38 +0000 (+0200) Subject: migration-test: Make wait_command() cope with '%' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4399596b152f6c933a173b0e97ba4e3b6a57458f;p=qemu.git migration-test: Make wait_command() cope with '%' wait_command() passes its argument @command to qtest_qmp_send(). Falls apart if @command contain '%'. Two ways to disarm this trap: suppress interpretation of '%' by passing @command as argument to format string "%s", or fix it by having wait_command() take the variable arguments to go with @command. Do the latter. This is another step towards compile-time format string checking without triggering -Wformat-nonliteral. Cc: Juan Quintela Cc: Dr. David Alan Gilbert Signed-off-by: Markus Armbruster Reviewed-by: Juan Quintela Reviewed-by: Eric Blake Message-Id: <20180806065344.7103-18-armbru@redhat.com> --- diff --git a/tests/migration-test.c b/tests/migration-test.c index 402c82bdc4..7bffcd2e4d 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -159,9 +159,14 @@ static void stop_cb(void *opaque, const char *name, QDict *data) /* * Events can get in the way of responses we are actually waiting for. */ -static QDict *wait_command(QTestState *who, const char *command) +static QDict *wait_command(QTestState *who, const char *command, ...) { - qtest_qmp_send(who, command); + va_list ap; + + va_start(ap, command); + qtest_qmp_vsend(who, command, ap); + va_end(ap); + return qtest_qmp_receive_success(who, stop_cb, NULL); }