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