
On 08/27/2014 12:25 PM, Peter Krempa wrote:
Add helper to free a list of virDomainPtrs without raising or clearing errors. Use it in one place and prepare it for reuse. --- src/conf/domain_conf.c | 31 +++++++++++++++++++++++-------- src/conf/domain_conf.h | 2 ++ src/libvirt_private.syms | 1 + 3 files changed, 26 insertions(+), 8 deletions(-)
ACK with one minor suggestion.
+/** + * virDomainListFree: + * @list: list of domains to free + * + * Frees the list of domains without messing with currently set libvirt errors.
Maybe mention that the list must be NULL-terminated.
@@ -20052,13 +20073,7 @@ virDomainObjListExport(virDomainObjListPtr doms, ret = data.ndomains;
cleanup: - if (data.domains) { - int count = virHashSize(doms->objs); - for (i = 0; i < count; i++) - virObjectUnref(data.domains[i]); - } - - VIR_FREE(data.domains); + virDomainListFree(data.domains);
I had to check, but yes, this conversion is correct (data.domains was allocated earlier as virHashSize(doms->objs)+1, so it is NULL-terminated without having to grab the hash size a second time). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org