isspace() & i18n

Earnie Boyd
Wed May 30 07:18:00 GMT 2001

Christopher Faylor wrote:
> On Wed, May 30, 2001 at 02:57:56PM +0400, egor duda wrote:
> >Hi!
> >
> >  cygwin calls newlib's isspace() passing it a signed char. this works
> >ok for ascii symbols 0x00-0x7f, but fails with, say, cyrillic symbols
> > with codes > 0x80. As a result `cd dir-with-last-cyrillic-letter'
> >fails as chdir strips last symbols, thinking they're spaces --
> >isspace() is called with negative parameter.
> >
> >Any thoughts as of how we should handle this?
> Maybe we just need a cygwin_isspace which checks for just tabs and spaces?

Shouldn't this be fixed in the newlib's ctype library?  In particular in
the ctype_.c file?  Hmm...  Why is isspace() being called with a
negative parameter? The ctype.h header declares both a function and a
macro which is being used?  The macro declares the passed character as
unsigned, the functions parameter is a signed integer.  So, it appears
the function is being used and the chdir needs to ensure that an
unsigned value is passed.


Do You Yahoo!?
Get your free address at

More information about the Cygwin-developers mailing list