From: Laine Stump Date: Tue, 25 Nov 2014 09:17:51 +0000 (-0500) Subject: conf: replace call to virNetworkFree() with virObjectUnref() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c2d5bca167ac12b0ae277edadd64bf90d7f4ed3c;p=libvirt.git conf: replace call to virNetworkFree() with virObjectUnref() 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. --- diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 067334e87c..a249e32c1b 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -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);