Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Originating-IP: [203.213.50.98] From: "Gareth Pearce" To: "Abraham Backus" , References: <000901c28549$5f53cef0$0200a8c0 AT abackusdell2> Subject: Re: xerces-c , ... [xerces-c Bug Crash Solved] Date: Thu, 7 Nov 2002 22:14:04 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: X-OriginalArrivalTime: 07 Nov 2002 11:13:44.0276 (UTC) FILETIME=[BC320140:01C2864E] 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/