diff options
author | Markus Armbruster | 2020-12-11 18:11:37 +0100 |
---|---|---|
committer | Markus Armbruster | 2020-12-19 10:38:43 +0100 |
commit | eab3a4678b07267c39e7290a6e9e7690b1d2a521 (patch) | |
tree | 223d43bbde1e59f4f6867a36e2dfdf0ca36603f3 /tests/test-visitor-serialization.c | |
parent | qobject: Use GString instead of QString to accumulate JSON (diff) | |
download | qemu-eab3a4678b07267c39e7290a6e9e7690b1d2a521.tar.gz qemu-eab3a4678b07267c39e7290a6e9e7690b1d2a521.tar.xz qemu-eab3a4678b07267c39e7290a6e9e7690b1d2a521.zip |
qobject: Change qobject_to_json()'s value to GString
qobject_to_json() and qobject_to_json_pretty() build a GString, then
covert it to QString. Just one of the callers actually needs a
QString: qemu_rbd_parse_filename(). A few others need a string they
can modify: qmp_send_response(), qga's send_response(), to_json_str(),
and qmp_fd_vsend_fds(). The remainder just need a string.
Change qobject_to_json() and qobject_to_json_pretty() to return the
GString.
qemu_rbd_parse_filename() now has to convert to QString. All others
save a QString temporary. to_json_str() actually becomes a bit
simpler, because GString provides more convenient modification
functions.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201211171152.146877-6-armbru@redhat.com>
Diffstat (limited to 'tests/test-visitor-serialization.c')
-rw-r--r-- | tests/test-visitor-serialization.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/test-visitor-serialization.c b/tests/test-visitor-serialization.c index dfe120a50d..4629958647 100644 --- a/tests/test-visitor-serialization.c +++ b/tests/test-visitor-serialization.c @@ -957,15 +957,15 @@ static void qmp_deserialize(void **native_out, void *datap, VisitorFunc visit, Error **errp) { QmpSerializeData *d = datap; - QString *output_json; + GString *output_json; QObject *obj_orig, *obj; visit_complete(d->qov, &d->obj); obj_orig = d->obj; output_json = qobject_to_json(obj_orig); - obj = qobject_from_json(qstring_get_str(output_json), &error_abort); + obj = qobject_from_json(output_json->str, &error_abort); - qobject_unref(output_json); + g_string_free(output_json, true); d->qiv = qobject_input_visitor_new(obj); qobject_unref(obj_orig); qobject_unref(obj); |