With refactoring most of the expansion function, let's take care of
some additional cleanups.
Signed-off-by: Collin Walling
---
src/qemu/qemu_monitor_json.c | 37 ++---
1 file changed, 14 insertions(+), 23 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 7219d14..3282593 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -5877,20 +5877,19 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
bool migratable,
qemuMonitorCPUModelInfoPtr *model_info)
{
-int ret = -1;
-virJSONValuePtr model = NULL;
-virJSONValuePtr cmd = NULL;
-virJSONValuePtr reply = NULL;
+VIR_AUTOPTR(virJSONValue) model = NULL;
+VIR_AUTOPTR(virJSONValue) cmd = NULL;
+VIR_AUTOPTR(virJSONValue) reply = NULL;
virJSONValuePtr data;
virJSONValuePtr cpu_model;
-virJSONValuePtr cpu_props;
-char const *cpu_name;
+virJSONValuePtr cpu_props = NULL;
+const char *cpu_name = "";
const char *typeStr = "";
*model_info = NULL;
if (!(model = qemuMonitorJSONMakeCPUModel(model_name, migratable)))
-goto cleanup;
+return -1;
retry:
switch (type) {
@@ -5908,35 +5907,33 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
"s:type", typeStr,
"a:model", &model,
NULL)))
-goto cleanup;
+return -1;
if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
-goto cleanup;
+return -1;
/* Even though query-cpu-model-expansion is advertised by query-commands it
* may just return GenericError if it is not implemented for the requested
* guest architecture or it is not supported in the host environment.
*/
-if (qemuMonitorJSONHasError(reply, "GenericError")) {
-ret = 0;
-goto cleanup;
-}
+if (qemuMonitorJSONHasError(reply, "GenericError"))
+return 0;
if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_OBJECT) < 0)
-goto cleanup;
+return -1;
data = virJSONValueObjectGetObject(reply, "return");
if (qemuMonitorJSONParseCPUModelData(data,
&cpu_model, &cpu_props, &cpu_name) <
0)
-goto cleanup;
+return -1;
/* QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL requests "full" expansion
* on the result of the initial "static" expansion.
*/
if (type == QEMU_MONITOR_CPU_MODEL_EXPANSION_STATIC_FULL) {
if (!(model = virJSONValueCopy(cpu_model)))
-goto cleanup;
+return -1;
virJSONValueFree(cmd);
virJSONValueFree(reply);
@@ -5944,13 +5941,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitorPtr mon,
goto retry;
}
-ret = qemuMonitorJSONParseCPUModel(cpu_name, cpu_props, model_info);
-
- cleanup:
-virJSONValueFree(cmd);
-virJSONValueFree(reply);
-virJSONValueFree(model);
-return ret;
+return qemuMonitorJSONParseCPUModel(cpu_name, cpu_props, model_info);
}
--
2.7.4
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list