This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: isspace() & i18n


Hi!

Wednesday, 30 May, 2001 Christopher Faylor cgf@redhat.com wrote:

CF> On Thu, May 31, 2001 at 01:29:28AM +0900, Kazuhiro Fujieda wrote:
>>>>> On Wed, 30 May 2001 18:11:56 +0400
>>>>> egor duda <deo@logos-m.ru> said:
>>
>>> i think we should either conform to standard and explicitly convert
>>> types or define appropriate strings as unsigned char*, (typedef PATH_STR,
>>> perhaps), or define cygwin_is*() as macros that do the conversion, or,
>>> as glibc does, expand _ctype to allow indices in range [-128,256].
>>
>>The last is preferable.
>>
>>The ISO C standard specifies is* facilities operate properly on
>>all values representable as type `char' and type `unsigned char'.
>>It depends on implementation whether char is signed or unsigned. 
>>The is* facilities should operate on range [-128,256] on the
>>implementation where char is singied.

CF> I agree.  I think that this is the preferable solution.

here's the patch that works ok for me. unfortunately, it relies on
nonstandard gccism, but at least it always initializes all _ctype_
array elements. when compiled with gcc, it additionally allows
[-128, -1] range for indices, too.

Egor.            mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19

newlib-ctype-init.diff

newlib-ctype-init.ChangeLog


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]