From: fjh AT cs DOT mu DOT OZ DOT AU (Fergus Henderson) Subject: Re: gcc & g77 trouble with library routines: "linked to missing export CYGWIN.DLL:strlwr" 1 Apr 1998 22:54:03 -0800 Message-ID: <19980402055259.54949.cygnus.gnu-win32@murlibobo.cs.mu.OZ.AU> References: <351CC6D3 DOT 5E47 AT helix DOT nih DOT gov> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: Wolz AT helix DOT nih DOT gov Cc: gnu-win32 AT cygnus DOT com, mykrafone AT aol DOT com On 28-Mar-1998, Wolz wrote: > I prepared the following test program to demonstrate: > > #testc.c > > #include "string.h" > extern char * strlwr(char *); > main () { > char testchar[]="X"; > strlwr(testchar); > } strlwr() is a non-standard function. Any programs that use it will not be portable. My guess as to why it links but won't run is that the old (b18) cygwin.dll used to export strlwr(), whereas cygwinb19.dll does not export it, but when removing the function someone forgot to remove it from the export list. > One solution would be to write replacement routines, where necessary. Right. But don't call the replacement strlwr(), since names starting with str[a-z]* are reserved for use by the implementation. Call it say my_strlwr(). -- Fergus Henderson | "I have always known that the pursuit WWW: | of excellence is a lethal habit" PGP: finger fjh AT 128 DOT 250 DOT 37 DOT 3 | -- the last words of T. S. Garp. - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".