mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
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>
This commit is contained in:
parent
f1cc129df8
commit
eab3a4678b
12 changed files with 79 additions and 93 deletions
|
@ -110,15 +110,15 @@ static void monitor_qmp_cleanup_queue_and_resume(MonitorQMP *mon)
|
|||
void qmp_send_response(MonitorQMP *mon, const QDict *rsp)
|
||||
{
|
||||
const QObject *data = QOBJECT(rsp);
|
||||
QString *json;
|
||||
GString *json;
|
||||
|
||||
json = qobject_to_json_pretty(data, mon->pretty);
|
||||
assert(json != NULL);
|
||||
|
||||
qstring_append_chr(json, '\n');
|
||||
monitor_puts(&mon->common, qstring_get_str(json));
|
||||
g_string_append_c(json, '\n');
|
||||
monitor_puts(&mon->common, json->str);
|
||||
|
||||
qobject_unref(json);
|
||||
g_string_free(json, true);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -320,9 +320,9 @@ static void handle_qmp_command(void *opaque, QObject *req, Error *err)
|
|||
} /* else will fail qmp_dispatch() */
|
||||
|
||||
if (req && trace_event_get_state_backends(TRACE_HANDLE_QMP_COMMAND)) {
|
||||
QString *req_json = qobject_to_json(req);
|
||||
trace_handle_qmp_command(mon, qstring_get_str(req_json));
|
||||
qobject_unref(req_json);
|
||||
GString *req_json = qobject_to_json(req);
|
||||
trace_handle_qmp_command(mon, req_json->str);
|
||||
g_string_free(req_json, true);
|
||||
}
|
||||
|
||||
if (qdict && qmp_is_oob(qdict)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue