[PATCH 01/12] qemu: monitor: Introduce qemuMonitorJSONGetReply, a better qemuMonitorJSONCheckReply

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rather than simply checking that the 'return' field is of the expected
type we can directly return it as the caller is very likely going to use
it. Extract the code into the new function and add a wrapper to preserve
old functionality.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/qemu/qemu_monitor_json.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index f4e942a32f..e6cfaaf0e9 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -396,15 +396,15 @@ qemuMonitorJSONCheckError(virJSONValue *cmd,
 }


-static int
-qemuMonitorJSONCheckReply(virJSONValue *cmd,
-                          virJSONValue *reply,
-                          virJSONType type)
+static virJSONValue *
+qemuMonitorJSONGetReply(virJSONValue *cmd,
+                        virJSONValue *reply,
+                        virJSONType type)
 {
     virJSONValue *data;

     if (qemuMonitorJSONCheckError(cmd, reply) < 0)
-        return -1;
+        return NULL;

     data = virJSONValueObjectGet(reply, "return");
     if (virJSONValueGetType(data) != type) {
@@ -417,9 +417,21 @@ qemuMonitorJSONCheckReply(virJSONValue *cmd,
                        _("unexpected type returned by QEMU command '%s'"),
                        qemuMonitorJSONCommandName(cmd));

-        return -1;
+        return NULL;
     }

+    return data;
+}
+
+
+static int
+qemuMonitorJSONCheckReply(virJSONValue *cmd,
+                          virJSONValue *reply,
+                          virJSONType type)
+{
+    if (!qemuMonitorJSONGetReply(cmd, reply, type))
+        return -1;
+
     return 0;
 }

-- 
2.38.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux