diff options
author | Markus Armbruster <armbru@redhat.com> | 2018-08-06 08:53:29 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2018-08-16 08:42:06 +0200 |
commit | 69f0cb661a9284045464619f24ceaa8771c0a212 (patch) | |
tree | 84920bad4f4174c21951b59d6a9fe3c04efcd1d8 | |
parent | 4ff184689bf3d22b01c0d00c2bf6bf9595ff9b48 (diff) |
libqtest: Simplify qmp_fd_vsend() a bit
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20180806065344.7103-9-armbru@redhat.com>
-rw-r--r-- | tests/libqtest.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/tests/libqtest.c b/tests/libqtest.c index 2fe0f4dc29..9e3870bb7d 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -488,24 +488,20 @@ QDict *qtest_qmp_receive(QTestState *s) */ void qmp_fd_vsend(int fd, const char *fmt, va_list ap) { - va_list ap_copy; QObject *qobj; - /* qobject_from_jsonv() silently eats leading 0xff as invalid - * JSON, but we want to test sending them over the wire to force - * resyncs */ + /* + * qobject_from_vjsonf_nofail() chokes on leading 0xff as invalid + * JSON, but tests/test-qga.c needs to send that to test QGA + * synchronization + */ if (*fmt == '\377') { socket_send(fd, fmt, 1); fmt++; } - /* Going through qobject ensures we escape strings properly. - * This seemingly unnecessary copy is required in case va_list - * is an array type. - */ - va_copy(ap_copy, ap); - qobj = qobject_from_jsonv(fmt, &ap_copy, &error_abort); - va_end(ap_copy); + /* Going through qobject ensures we escape strings properly */ + qobj = qobject_from_vjsonf_nofail(fmt, ap); /* No need to send anything for an empty QObject. */ if (qobj) { |