isspace() & i18n

Earnie Boyd earnie_boyd@yahoo.com
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.

-- 
Earnie.

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




More information about the Cygwin-developers mailing list