]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: add virDomainVideoDefNew
authorCole Robinson <crobinso@redhat.com>
Wed, 28 Jun 2017 14:24:33 +0000 (10:24 -0400)
committerCole Robinson <crobinso@redhat.com>
Sun, 27 Aug 2017 13:38:12 +0000 (09:38 -0400)
To handle setting a default heads value. Convert callers that were
doing it by hand

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_parse_command.c
src/vz/vz_sdk.c

index 478feb92d88c28f3d2a7ad2e61badcc11651b736..646b60a83da542bbb914e62ee47073531fb7bbb4 100644 (file)
@@ -2407,6 +2407,20 @@ void virDomainShmemDefFree(virDomainShmemDefPtr def)
     VIR_FREE(def);
 }
 
+
+virDomainVideoDefPtr
+virDomainVideoDefNew(void)
+{
+    virDomainVideoDefPtr def;
+
+    if (VIR_ALLOC(def) < 0)
+        return NULL;
+
+    def->heads = 1;
+    return def;
+}
+
+
 void virDomainVideoDefFree(virDomainVideoDefPtr def)
 {
     if (!def)
@@ -13962,7 +13976,7 @@ virDomainVideoDefParseXML(xmlNodePtr node,
 
     ctxt->node = node;
 
-    if (VIR_ALLOC(def) < 0)
+    if (!(def = virDomainVideoDefNew()))
         return NULL;
 
     cur = node->children;
@@ -14060,8 +14074,6 @@ virDomainVideoDefParseXML(xmlNodePtr node,
                            _("cannot parse video heads '%s'"), heads);
             goto error;
         }
-    } else {
-        def->heads = 1;
     }
 
     if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0)
@@ -21207,7 +21219,7 @@ virDomainDefAddImplicitVideo(virDomainDefPtr def)
     if (def->ngraphics == 0 || def->nvideos > 0)
         return 0;
 
-    if (VIR_ALLOC(video) < 0)
+    if (!(video = virDomainVideoDefNew()))
         goto cleanup;
     video->type = virDomainVideoDefaultType(def);
     if (video->type < 0) {
@@ -21215,7 +21227,6 @@ virDomainDefAddImplicitVideo(virDomainDefPtr def)
                        _("cannot determine default video type"));
         goto cleanup;
     }
-    video->heads = 1;
     if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, video) < 0)
         goto cleanup;
 
index 8c438cabcaf03b4129e7f574273a4f3cf01d9c7d..c3d684503280c85e3681089c11606fa1e3b9a979 100644 (file)
@@ -2727,6 +2727,7 @@ void virDomainSoundDefFree(virDomainSoundDefPtr def);
 void virDomainMemballoonDefFree(virDomainMemballoonDefPtr def);
 void virDomainNVRAMDefFree(virDomainNVRAMDefPtr def);
 void virDomainWatchdogDefFree(virDomainWatchdogDefPtr def);
+virDomainVideoDefPtr virDomainVideoDefNew(void);
 void virDomainVideoDefFree(virDomainVideoDefPtr def);
 virDomainHostdevDefPtr virDomainHostdevDefNew(virDomainXMLOptionPtr xmlopt);
 void virDomainHostdevDefClear(virDomainHostdevDefPtr def);
index 2149b11b74771c5da07608f8503e6028fc077e3c..b944bb4b2c66d24a2d3db787e54752ff243e761a 100644 (file)
@@ -530,6 +530,7 @@ virDomainUSBDeviceDefForeach;
 virDomainVideoDefaultRAM;
 virDomainVideoDefaultType;
 virDomainVideoDefFree;
+virDomainVideoDefNew;
 virDomainVideoTypeFromString;
 virDomainVideoTypeToString;
 virDomainVideoVGAConfTypeFromString;
index 09d9418ce1da6b67a89fa37a56c292f3728ebcd9..8cb96a24a40a2a3e48df843175f0ec217be7ece6 100644 (file)
@@ -2605,10 +2605,9 @@ qemuParseCommandLine(virCapsPtr caps,
 
     if (def->ngraphics) {
         virDomainVideoDefPtr vid;
-        if (VIR_ALLOC(vid) < 0)
+        if (!(vid = virDomainVideoDefNew()))
             goto error;
         vid->type = video;
-        vid->heads = 1;
 
         if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, vid) < 0) {
             virDomainVideoDefFree(vid);
index 49b150473bf7aa47fb4057bf87a44d84ed343a94..6ead47a0f59a00a300ae3be752beed8ee7913057 100644 (file)
@@ -553,12 +553,11 @@ prlsdkAddDomainVideoInfoCt(virDomainDefPtr def)
     if (def->ngraphics == 0)
         return 0;
 
-    if (VIR_ALLOC(video) < 0)
+    if (!(video = virDomainVideoDefNew()))
         goto cleanup;
 
     video->type = VIR_DOMAIN_VIDEO_TYPE_PARALLELS;
     video->vram = 0;
-    video->heads = 1;
 
     if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, video) < 0)
         goto cleanup;