summaryrefslogtreecommitdiffstats
path: root/qobject
diff options
context:
space:
mode:
authorMarkus Armbruster2020-12-11 18:11:37 +0100
committerMarkus Armbruster2020-12-19 10:38:43 +0100
commiteab3a4678b07267c39e7290a6e9e7690b1d2a521 (patch)
tree223d43bbde1e59f4f6867a36e2dfdf0ca36603f3 /qobject
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 'qobject')
-rw-r--r--qobject/qjson.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/qobject/qjson.c b/qobject/qjson.c
index e7100a539c..2f690c1816 100644
--- a/qobject/qjson.c
+++ b/qobject/qjson.c
@@ -284,15 +284,15 @@ static void to_json(const QObject *obj, GString *accu, bool pretty, int indent)
}
}
-QString *qobject_to_json_pretty(const QObject *obj, bool pretty)
+GString *qobject_to_json_pretty(const QObject *obj, bool pretty)
{
GString *accu = g_string_new(NULL);
to_json(obj, accu, pretty, 0);
- return qstring_from_gstring(accu);
+ return accu;
}
-QString *qobject_to_json(const QObject *obj)
+GString *qobject_to_json(const QObject *obj)
{
return qobject_to_json_pretty(obj, false);
}