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
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list