From: fjh@cs.mu.OZ.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.5E47@helix.nih.gov>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
To: Wolz@helix.nih.gov
Cc: gnu-win32@cygnus.com, mykrafone@aol.com

On 28-Mar-1998, Wolz <Wolz@helix.nih.gov> 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 <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3        |     -- the last words of T. S. Garp.
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
