[PATCH 04/17] qemuMonitorJSONMigrate: Extract flags prior to constructing command

Peter Krempa pkrempa at redhat.com
Fri Dec 3 15:01:43 UTC 2021


The migration API takes specific flags which are then converted to
boolean parameters for the command. Extract the flag into helper
variables rather than using ternary operatirs while constructing the
command itself.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_monitor_json.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index da14eee964..82631e30e0 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -3440,13 +3440,15 @@ int qemuMonitorJSONMigrate(qemuMonitor *mon,
                            unsigned int flags,
                            const char *uri)
 {
-    g_autoptr(virJSONValue) cmd =
-      qemuMonitorJSONMakeCommand("migrate",
-                                 "b:detach", flags & QEMU_MONITOR_MIGRATE_BACKGROUND ? 1 : 0,
-                                 "b:blk", flags & QEMU_MONITOR_MIGRATE_NON_SHARED_DISK ? 1 : 0,
-                                 "b:inc", flags & QEMU_MONITOR_MIGRATE_NON_SHARED_INC ? 1 : 0,
-                                 "s:uri", uri,
-                                 NULL);
+    bool detach = !!(flags & QEMU_MONITOR_MIGRATE_BACKGROUND);
+    bool blk = !!(flags & QEMU_MONITOR_MIGRATE_NON_SHARED_DISK);
+    bool inc = !!(flags & QEMU_MONITOR_MIGRATE_NON_SHARED_INC);
+    g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("migrate",
+                                                             "b:detach", detach,
+                                                             "b:blk", blk,
+                                                             "b:inc", inc,
+                                                             "s:uri", uri,
+                                                             NULL);
     g_autoptr(virJSONValue) reply = NULL;

     if (!cmd)
-- 
2.31.1




More information about the libvir-list mailing list