bug in ctype.h

Chris Faylor cgf@cygnus.com
Mon Mar 13 10:06:00 GMT 2000

On Mon, Mar 13, 2000 at 06:58:20PM +0100, Levente Farkas wrote:
>Chris Faylor wrote:
>> On Mon, Mar 13, 2000 at 06:07:43PM +0100, Levente Farkas wrote:
>> >hi,
>> >I thing it's a real bug in ctype.h in cygwin:
>> >-------------
>> >#define _U  01
>> >#define _L  02
>> >#define _N  04
>> >#define _S  010
>> >#define _P  020
>> >#define _C  040
>> >#define _X  0100
>> >#define _B  0200
>> >--------------
>> >and there is no undef pair of these defines. ok you can use every
>> >name with starts with _, but it's a real nightmare (the _X is the
>> >worst).
>> Um, how would you undef these?  They're used in macros.
>that's another problem:-)
>but simple after use
>#undef _X

Are you actually saying that you want to do something like this:

#include <ctype.h>

main(int argc, char **argv)
  printf ("%d", isalpha(*argv[0]));
#undef _U
#undef _L
#undef _N
#undef _S
#undef _P
#undef _C
#undef _X
#undef _B

Somehow, I don't see the point.

If you're advocating that these be undefined in ctype.h, then:

That won't work.

>>It was my understanding that symbols that begin with "_" were supposed
>>to be the province of a system library and are not supposed to be used
>>by user programs.  Or was it "__".  I can never remember.
>almost both, but such a macros are anoying anyway.

Uh huh.


Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

More information about the Cygwin mailing list