[libvirt] [PATCH 2/3] qemu_monitor_json: Drop redundant checks

Michal Privoznik mprivozn at redhat.com
Tue May 3 09:53:20 UTC 2016


In these functions I'm fixing here, we do call
qemuMonitorJSONCheckError() followed by another check if qemu
reply contains 'return' object. If it wouldn't, the former
CheckError() function would error out and the flow would not even
get to the latter.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/qemu/qemu_monitor_json.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 81970b9..4dbf33f 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -1093,11 +1093,7 @@ qemuMonitorJSONHumanCommandWithFd(qemuMonitorPtr mon,
     if (qemuMonitorJSONCheckError(cmd, reply))
         goto cleanup;
 
-    if (!(obj = virJSONValueObjectGet(reply, "return"))) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("human monitor command was missing return data"));
-        goto cleanup;
-    }
+    obj = virJSONValueObjectGet(reply, "return");
 
     if (reply_str) {
         const char *data;
@@ -2539,12 +2535,7 @@ qemuMonitorJSONGetMigrationCompression(qemuMonitorPtr mon,
     if ((ret = qemuMonitorJSONCheckError(cmd, reply)) < 0)
         goto cleanup;
 
-    if (!(result = virJSONValueObjectGet(reply, "return"))) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("query-migrate-parameters reply was missing "
-                         "'return' data"));
-        goto cleanup;
-    }
+    result = virJSONValueObjectGet(reply, "return");
 
     if (virJSONValueObjectGetNumberInt(result, "compress-level",
                                        &compress->level) < 0) {
@@ -5392,11 +5383,7 @@ int qemuMonitorJSONGetObjectProperty(qemuMonitorPtr mon,
 
     ret = -1;
 
-    if (!(data = virJSONValueObjectGet(reply, "return"))) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("qom-get reply was missing return data"));
-        goto cleanup;
-    }
+    data = virJSONValueObjectGet(reply, "return");
 
     switch ((qemuMonitorJSONObjectPropertyType) prop->type) {
     /* Simple cases of boolean, int, long, uint, ulong, double, and string
-- 
2.8.1




More information about the libvir-list mailing list