[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] xmlParseMemory() and xmlParseDTD()



On Wed, Mar 06, 2002 at 01:07:54PM +0100, MDC A. wrote:
>   xmlParserError(0x160840, 0x122cf0, 0x1646c8, 0x0,
> 0x0, 0x164afd)

    xmlParserError calls the xmlGenericError routine which is initialized
to xmlGenericErrorDefaultFunc, with the default xmlGenericErrorContext which
is initialized to NULL.

>    xmlGenericErrorDefaultFunc(0x0, 0x12fcf8, 0x5,
> 0xfffffff8,
>  0x44, 0x1646b8)

  So that call is correct. 
  BUT xmlGenericErrorDefaultFunc() code is:

---------------
void
xmlGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
    va_list args;

    if (xmlGenericErrorContext == NULL)
	xmlGenericErrorContext = (void *) stderr;

    va_start(args, msg);
    vfprintf((FILE *)xmlGenericErrorContext, msg, args);
    va_end(args);
}
---------------

  Unless stderr == NULL in Solaris which would be really really strange,

>  vfprintf(0x0, 0xffbef0e4, 0xfeabf9b4, 0x8, 0x12fcf8,
>  0x1646c8)

  I really don't see how the first argument to vfprintf being passed can be
NULL !

> which is the problem here?

  I really don't know there is something really really strange here !

> How can the problem be solved?

  Take a debugger and check by single stepping, possibly looking at
the assembly generated. I don't understand how the first argument of the
call can be NULL ! Or someone else on Solaris can reproduce your problem
and check it for you, sorry I can't ...

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]