[libvirt] [PATCH v2 15/17] qemu_command: cleanup qemuBuildVideoCommandLine

Pavel Hrdina phrdina at redhat.com
Wed Oct 12 12:12:56 UTC 2016


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---

Changes in v2:
    - removed switch that checked whether video type is supported, it is handled
    by previous patch

 src/qemu/qemu_command.c | 35 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 823760a..e0c442a 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4409,31 +4409,28 @@ qemuBuildVideoCommandLine(virCommandPtr cmd,
 {
     size_t i;
 
-    if (!def->videos)
-        return 0;
+    for (i = 0; i < def->nvideos; i++) {
+        char *str = NULL;
+        virDomainVideoDefPtr video = def->videos[i];
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY)) {
-        for (i = 0; i < def->nvideos; i++) {
-            char *str;
-            virCommandAddArg(cmd, "-device");
-            if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i],
-                                                qemuCaps)))
-                return -1;
+        if (video->primary) {
+            if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY)) {
 
-            virCommandAddArg(cmd, str);
-            VIR_FREE(str);
-        }
-    } else {
-        if (qemuBuildVgaVideoCommand(cmd, def->videos[0], qemuCaps) < 0)
-            return -1;
+                virCommandAddArg(cmd, "-device");
 
-        for (i = 1; i < def->nvideos; i++) {
-            char *str;
+                if (!(str = qemuBuildDeviceVideoStr(def, video, qemuCaps)))
+                    return -1;
 
+                virCommandAddArg(cmd, str);
+                VIR_FREE(str);
+            } else {
+                if (qemuBuildVgaVideoCommand(cmd, video, qemuCaps) < 0)
+                    return -1;
+            }
+        } else {
             virCommandAddArg(cmd, "-device");
 
-            if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i],
-                                                qemuCaps)))
+            if (!(str = qemuBuildDeviceVideoStr(def, video, qemuCaps)))
                 return -1;
 
             virCommandAddArg(cmd, str);
-- 
2.10.1




More information about the libvir-list mailing list