The qobject_from_jsonf() function implements a pseudo-printf
language for creating a QObject through the extension of dynamic
JSON; however, it is hard-coded to only parse a subset of
formats understood by -Wformat and is not a straight synonym to
bare printf().  During a recent cleanup due to problems caused
by PRId64, it was questioned whether the maintenance burden of
keeping the dynamic JSON extension can be counterbalanced by
converting code to use alternative ways of describing QObject.

The only use of dynamic JSON in the testsuite glue code was
the creation of a human monitor command over QMP, and is a
relatively straightforward update.

Signed-off-by: Eric Blake <ebl...@redhat.com>
---
 tests/libqtest.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/libqtest.c b/tests/libqtest.c
index 0796bb0..26c4beb 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -580,11 +580,11 @@ char *qtest_hmpv(QTestState *s, const char *fmt, va_list 
ap)
     char *cmd;
     QDict *resp;
     char *ret;
+    QDict *args = qdict_new();

     cmd = g_strdup_vprintf(fmt, ap);
-    resp = qtest_qmp(s, "{'execute': 'human-monitor-command',"
-                     " 'arguments': {'command-line': %s}}",
-                     cmd);
+    qdict_put_str(args, "command-line", cmd);
+    resp = qtest_qmp_cmd(s, "human-monitor-command", args);
     ret = g_strdup(qdict_get_try_str(resp, "return"));
     g_assert(ret);
     QDECREF(resp);
-- 
2.7.4


Reply via email to