]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Allow caps to be NULL when creating virDomainObjPtr instances
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 6 Sep 2012 15:32:45 +0000 (16:32 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 13 Sep 2012 11:16:59 +0000 (12:16 +0100)
If no private data needs to be maintained, it can be useful
to create virDomainObjPtr instances without having a virCapsPtr
instance around. Adapt the virDomainObjNew() function to allow
for a NULL caps

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/conf/domain_conf.c

index 3b44f0c274d49097b7a2910641124a6cea76650b..2f8e5d258045ec02ab05ce303b164797d4ab6fc0 100644 (file)
@@ -1732,12 +1732,14 @@ virDomainObjPtr virDomainObjNew(virCapsPtr caps)
         return NULL;
     }
 
-    if (caps->privateDataAllocFunc &&
-        !(domain->privateData = (caps->privateDataAllocFunc)())) {
-        virReportOOMError();
-        goto error;
+    if (caps &&
+        caps->privateDataAllocFunc) {
+        if (!(domain->privateData = (caps->privateDataAllocFunc)())) {
+            virReportOOMError();
+            goto error;
+        }
+        domain->privateDataFreeFunc = caps->privateDataFreeFunc;
     }
-    domain->privateDataFreeFunc = caps->privateDataFreeFunc;
 
     if (!(domain->snapshots = virDomainSnapshotObjListNew()))
         goto error;