[Libvir] PATCH: 9/16: main internal storage driver
Daniel Veillard
veillard at redhat.com
Tue Feb 19 11:10:36 UTC 2008
On Tue, Feb 19, 2008 at 10:09:20AM +0100, Jim Meyering wrote:
> "Daniel P. Berrange" <berrange at redhat.com> wrote:
> > On Mon, Feb 18, 2008 at 09:51:28AM -0500, Daniel Veillard wrote:
> >> On Tue, Feb 12, 2008 at 04:36:04AM +0000, Daniel P. Berrange wrote:
> ...
> >> > + if (xml)
> >> > + xmlFreeDoc(xml);
> >> > + return NULL;
> >> > +}
> >>
> >> since we try to remove if (x) free(x) style, just call xmlFreeDoc(xml);
> >> since xmlFreeDoc handles NULLs fine.
> >
> > Yes, I did 'make syntax-check' but seems to have missed those
>
> To make it check for that, add a line in Makefile.cfg:
>
> useless_free_options = \
> --name=sexpr_free \
> --name=xmlXPathFreeContext \
> --name=xmlXPathFreeObject
>
> FYI, I did consider adding it a week or two ago, but saw the
> xmlGenericError call in libxml2/tree.c:
>
> void
> xmlFreeDoc(xmlDocPtr cur) {
> xmlDtdPtr extSubset, intSubset;
> xmlDictPtr dict = NULL;
>
> if (cur == NULL) {
> #ifdef DEBUG_TREE
> xmlGenericError(xmlGenericErrorContext,
> "xmlFreeDoc : document == NULL\n");
> #endif
> return;
> }
>
> Of course, if DV says it's ok, I guess that #ifdef'd code is not an issue.
Well DEBUG_TREE is not defined by default in libxml2 builds,
really all xml*Free* should be okay with NULL pointers, that's
part of regression tests, well except for xmlFree which is an
indirection to the OS free() established at link time.
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list
mailing list