]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: replace call to virNetworkFree() with virObjectUnref()
authorLaine Stump <laine@laine.org>
Tue, 25 Nov 2014 09:17:51 +0000 (04:17 -0500)
committerLaine Stump <laine@laine.org>
Tue, 2 Dec 2014 08:32:44 +0000 (03:32 -0500)
The function virNetworkObjListExport() in network_conf.c had a call to
the public API virNetworkFree() which was causing a link error:

CCLD     libvirt_driver_vbox_network_impl.la
 ./.libs/libvirt_conf.a(libvirt_conf_la-network_conf.o): In function `virNetworkObjListExport':
/home/laine/devel/libvirt/src/conf/network_conf.c:4496: undefined reference to `virNetworkFree'

This would happen when I added

  #include "network_conf.h"

into domain_conf.h, then attempted to call a new function from that
file (and enum converter, similar to virNetworkForwardTypeToString())

In the end, virNetworkFree() ends up just calling virObjectUnref(obj)
anyway (after clearing all pending errors, which we probably *don't*
want to do in the cleanup of a utility function), so this is likely
more correct than the original code as well.

src/conf/network_conf.c

index 067334e87cb06a4e3f21cf964e580e660b429044..a249e32c1bdb3b07a8bc3f21207f623874432f86 100644 (file)
@@ -4463,10 +4463,8 @@ virNetworkObjListExport(virConnectPtr conn,
 
  cleanup:
     if (tmp_nets) {
-        for (i = 0; i < nnets; i++) {
-            if (tmp_nets[i])
-                virNetworkFree(tmp_nets[i]);
-        }
+        for (i = 0; i < nnets; i++)
+            virObjectUnref(tmp_nets[i]);
     }
 
     VIR_FREE(tmp_nets);