[xslt] Re: libxml2-2.5.7 and libxslt-1.0.30 -- bugs and patches
- From: Peter Breitenlohner <peb mppmu mpg de>
- To: xslt gnome org
- Subject: [xslt] Re: libxml2-2.5.7 and libxslt-1.0.30 -- bugs and patches
- Date: Fri, 13 Jun 2003 18:00:04 +0200 (CEST)
On Fri, 13 Jun 2003, Daniel Veillard wrote:
> explaining the reasons of the changes would help too ...
Sorry, I forgot that. Since I saw the compiler warnings, the reason was
obvious to me. And I didn't remember that some of them depend on -O2.
> > NB: I really think xmlFree should be prototyped differently such that it
> > accepts a `const char *' argument without warning, e.g.
> > void xmlFree(void *);
> > or similar.
>
> xmlFreeFunc xmlFree = (xmlFreeFunc) free;
> typedef void (*xmlFreeFunc)(void *mem);
Maybe I was wrong, and the only thing needed was changing
static const char *output = NULL;
into
static char *output = NULL;
> > @@ -7853,7 +7853,7 @@
> > }
> > xmlRelaxNGFreeStates(ctxt, ctxt->states);
> > ctxt->states = NULL;
> > - if ((ret == 0) && (tmp == -1))
> > + if (tmp == -1)
>
> I see no justification for that, what compiler warning led you to change
> that code ? I see no warning with
> gcc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g -O -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls
>
> Looks to me as change in the semantic, of the code, why ?
With -O2 you will see that `res' is possibly used uninitialized, and indeed
all statemants that assign a value to res are inside if-clauses! Maybe my
patch changes the semantics, but something has to be done here. 'gcc -O2' is
quite good in giving hints to possibly uninitialized vars and quite often is
right.
Peter Breitenlohner <peb@mppmu.mpg.de>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]