summaryrefslogtreecommitdiffstats
path: root/tests/test-visitor-serialization.c
diff options
context:
space:
mode:
authorMarkus Armbruster2020-12-11 18:11:37 +0100
committerMarkus Armbruster2020-12-19 10:38:43 +0100
commiteab3a4678b07267c39e7290a6e9e7690b1d2a521 (patch)
tree223d43bbde1e59f4f6867a36e2dfdf0ca36603f3 /tests/test-visitor-serialization.c
parentqobject: Use GString instead of QString to accumulate JSON (diff)
downloadqemu-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.c6
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);