]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: introduce virDomainGraphicsNew
authorJán Tomko <jtomko@redhat.com>
Thu, 10 Jan 2019 14:34:06 +0000 (15:34 +0100)
committerJán Tomko <jtomko@redhat.com>
Tue, 22 Jan 2019 11:18:28 +0000 (12:18 +0100)
A helper function for allocating the virDomainGraphicsDef structure.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h

index 222bb8c482901a21ac93ee1353ad50a632b13f28..761f9bffef89cea64a294a959fdadce79a914301 100644 (file)
@@ -14115,9 +14115,22 @@ virDomainGraphicsDefParseXMLEGLHeadless(virDomainGraphicsDefPtr def,
 }
 
 
+virDomainGraphicsDefPtr
+virDomainGraphicsDefNew(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED)
+{
+    virDomainGraphicsDefPtr def = NULL;
+
+    if (VIR_ALLOC(def) < 0)
+        return NULL;
+
+    return def;
+}
+
+
 /* Parse the XML definition for a graphics device */
 static virDomainGraphicsDefPtr
-virDomainGraphicsDefParseXML(xmlNodePtr node,
+virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt,
+                             xmlNodePtr node,
                              xmlXPathContextPtr ctxt,
                              unsigned int flags)
 {
@@ -14125,7 +14138,7 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
     char *type = NULL;
     int typeVal;
 
-    if (VIR_ALLOC(def) < 0)
+    if (!(def = virDomainGraphicsDefNew(xmlopt)))
         return NULL;
 
     type = virXMLPropString(node, "type");
@@ -16237,7 +16250,8 @@ virDomainDeviceDefParse(const char *xmlStr,
             goto error;
         break;
     case VIR_DOMAIN_DEVICE_GRAPHICS:
-        if (!(dev->data.graphics = virDomainGraphicsDefParseXML(node, ctxt, flags)))
+        if (!(dev->data.graphics = virDomainGraphicsDefParseXML(xmlopt, node,
+                                                                ctxt, flags)))
             goto error;
         break;
     case VIR_DOMAIN_DEVICE_HUB:
@@ -20847,7 +20861,8 @@ virDomainDefParseXML(xmlDocPtr xml,
     if (n && VIR_ALLOC_N(def->graphics, n) < 0)
         goto error;
     for (i = 0; i < n; i++) {
-        virDomainGraphicsDefPtr graphics = virDomainGraphicsDefParseXML(nodes[i],
+        virDomainGraphicsDefPtr graphics = virDomainGraphicsDefParseXML(xmlopt,
+                                                                        nodes[i],
                                                                         ctxt,
                                                                         flags);
         if (!graphics)
index fae130668f2a4eafa070ee2ade20e3d1a6b4b9a9..2a97ad8ab3eeb8cb5c16d0efee47771b3dbf1111 100644 (file)
@@ -2954,6 +2954,8 @@ virDomainChrSourceDefNew(virDomainXMLOptionPtr xmlopt);
 
 virDomainChrDefPtr virDomainChrDefNew(virDomainXMLOptionPtr xmlopt);
 
+virDomainGraphicsDefPtr
+virDomainGraphicsDefNew(virDomainXMLOptionPtr xmlopt);
 virDomainDefPtr virDomainDefNew(void);
 
 void virDomainObjAssignDef(virDomainObjPtr domain,