]> xenbits.xensource.com Git - libvirt.git/commitdiff
vboxDumpDisplay: clean up VIR_STRDUP usage
authorJán Tomko <jtomko@redhat.com>
Fri, 5 Feb 2016 16:09:05 +0000 (17:09 +0100)
committerJán Tomko <jtomko@redhat.com>
Tue, 9 Feb 2016 09:09:41 +0000 (10:09 +0100)
Two VIR_STRDUP calls are redundant - just steal the string
converted by VBOX_UTF16_TO_UTF8.

Report an error when the third one fails.

src/vbox/vbox_common.c

index 5ee25531dfdbabbfdb9ed03ea6eabf1e62bda5f2..ee32e5163f5990e5569239e099a238b12402f98c 100644 (file)
@@ -3300,8 +3300,6 @@ static int
 vboxDumpDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
 {
     /* dump display options vrdp/gui/sdl */
-    char *guiDisplay          = NULL;
-    char *sdlDisplay          = NULL;
     PRUnichar *keyTypeUtf16   = NULL;
     PRUnichar *valueTypeUtf16 = NULL;
     char      *valueTypeUtf8  = NULL;
@@ -3343,41 +3341,25 @@ vboxDumpDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
         }
 
         if (STREQ(valueTypeUtf8, "sdl")) {
-            if (VIR_STRDUP(sdlDisplay, valueDisplayUtf8) < 0) {
-                /* just don't go to cleanup yet as it is ok to have
-                 * sdlDisplay as NULL and we check it below if it
-                 * exist and then only use it there
-                 */
-            }
             graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL;
-            if (sdlDisplay)
-                graphics->data.sdl.display = sdlDisplay;
+            graphics->data.sdl.display = valueDisplayUtf8;
+            valueDisplayUtf8 = NULL;
         }
 
         if (STREQ(valueTypeUtf8, "gui")) {
-            if (VIR_STRDUP(guiDisplay, valueDisplayUtf8) < 0) {
-                /* just don't go to cleanup yet as it is ok to have
-                 * guiDisplay as NULL and we check it below if it
-                 * exist and then only use it there
-                 */
-            }
             graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP;
-            if (guiDisplay)
-                graphics->data.desktop.display = guiDisplay;
+            graphics->data.desktop.display = valueDisplayUtf8;
+            valueDisplayUtf8 = NULL;
         }
         VBOX_UTF8_FREE(valueDisplayUtf8);
     } else if (STRNEQ_NULLABLE(valueTypeUtf8, "vrdp")) {
-        const char *tmp;
         if (VIR_ALLOC(graphics) < 0)
             goto cleanup;
 
         graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP;
-        tmp = virGetEnvBlockSUID("DISPLAY");
-        if (VIR_STRDUP(graphics->data.desktop.display, tmp) < 0) {
-            /* just don't go to cleanup yet as it is ok to have
-             * display as NULL
-             */
-        }
+        if (VIR_STRDUP(graphics->data.desktop.display,
+                       virGetEnvBlockSUID("DISPLAY")) < 0)
+            goto cleanup;
     }
 
     if (graphics) {