]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Use switch instead of ifs in qemuBuildGraphicsCommandLine
authorPeter Krempa <pkrempa@redhat.com>
Mon, 22 Apr 2013 13:13:46 +0000 (15:13 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 23 Apr 2013 19:30:55 +0000 (21:30 +0200)
Switch the function from a bunch of ifs to a switch statement with
correct type and reflow some code.

Also fix comment in enum describing possible graphics types

src/conf/domain_conf.h
src/qemu/qemu_command.c

index f1f01fa4679cec5fe4a8c24bbfb7e5482bc8133f..5b069b681c06852f8010b0b9cc2f8c46d12703d2 100644 (file)
@@ -1230,7 +1230,7 @@ struct _virDomainVideoDef {
     virDomainDeviceInfo info;
 };
 
-/* 3 possible graphics console modes */
+/* graphics console modes */
 enum virDomainGraphicsType {
     VIR_DOMAIN_GRAPHICS_TYPE_SDL,
     VIR_DOMAIN_GRAPHICS_TYPE_VNC,
index e5c1a8050547de8d6fac720a4a6056b8e136fa41..b1d3d1bb690aa67145963b12ca8744c7791393fe 100644 (file)
@@ -5804,24 +5804,19 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
                              virQEMUCapsPtr qemuCaps,
                              virDomainGraphicsDefPtr graphics)
 {
-    if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
-        if (qemuBuildGraphicsVNCCommandLine(cfg, cmd, def, qemuCaps, graphics) < 0)
-            goto error;
-    } else if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
+    switch ((enum virDomainGraphicsType) graphics->type) {
+    case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
         if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_0_10) &&
             !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("sdl not supported by '%s'"),
-                           def->emulator);
-            goto error;
+                           _("sdl not supported by '%s'"), def->emulator);
+            return -1;
         }
 
         if (graphics->data.sdl.xauth)
-            virCommandAddEnvPair(cmd, "XAUTHORITY",
-                                 graphics->data.sdl.xauth);
+            virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth);
         if (graphics->data.sdl.display)
-            virCommandAddEnvPair(cmd, "DISPLAY",
-                                 graphics->data.sdl.display);
+            virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.display);
         if (graphics->data.sdl.fullscreen)
             virCommandAddArg(cmd, "-full-screen");
 
@@ -5838,20 +5833,24 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
         if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL))
             virCommandAddArg(cmd, "-sdl");
 
-    } else if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
-        if (qemuBuildGraphicsSPICECommandLine(cfg, cmd, qemuCaps, graphics) < 0)
-            goto error;
-    } else {
+        break;
+
+    case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
+        return qemuBuildGraphicsVNCCommandLine(cfg, cmd, def, qemuCaps, graphics);
+
+    case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
+        return qemuBuildGraphicsSPICECommandLine(cfg, cmd, qemuCaps, graphics);
+
+    case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
+    case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
+    case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                        _("unsupported graphics type '%s'"),
                        virDomainGraphicsTypeToString(graphics->type));
-        goto error;
+        return -1;
     }
 
     return 0;
-
-error:
-    return -1;
 }
 
 /*