This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: xerces-c , ... [xerces-c Bug Crash Solved]
- From: "Gareth Pearce" <tilps at hotmail dot com>
- To: "Abraham Backus" <abraham at backus dot com>,<cygwin at cygwin dot com>
- Date: Thu, 7 Nov 2002 22:14:04 +1100
- Subject: Re: xerces-c , ... [xerces-c Bug Crash Solved]
- References: <F157b6MXb0zrAXBirbT000008ba@hotmail.com> <000901c28549$5f53cef0$0200a8c0@abackusdell2> <OE52hQYZkxOjmfCHJr100000259@hotmail.com>
FOUND IT!!!
*dances about crazily*
*cough* okay back to reality
I thought it was dieing in fopen - but i was wrong - it was dieing in
strcasecmp
utils/Compilers/GCCDefs.cpp - is very stuffed up
it includes string.h
and cygwin string.h - #define stricmp strcasecmp - which is the only reason
why GCCDefs.cpp exists
this causes GCCDefs.cpp to define a function strcasecmp - which calls
strcasecmp
same thing with strnicmp/strncasecmp
so any program which uses strcasecmp (or any program which causes xerces-c
to try and call stricmp/strnicmp) - dies with an infinite loop causing stack
overflow.
this is a porting bug in xerces-c (or a cygwin conformance bug... depending
on your point of view)
a simple #ifndef __CYGWIN__ around the declaration in GCCDefs.hpp and the
definition in GCCDefs.cpp
and life is good (or seems to be)
Please patch :)
Gareth
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/