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
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
