This is the mail archive of the
cygwin-developers@cygwin.com
mailing list for the Cygwin project.
Re: isspace() & i18n
- To: newlib at sources dot redhat dot com
- Subject: Re: isspace() & i18n
- From: egor duda <deo at logos-m dot ru>
- Date: Wed, 6 Jun 2001 15:48:03 +0400
- CC: cygwin-developers at cygwin dot com
- Organization: deo
- References: <13254193676.20010530145756@logos-m.ru><20010530095254.B17603@redhat.com> <9265832872.20010530181156@logos-m.ru><s1s4ru2ls0n.fsf@jaist.ac.jp> <20010530125753.B19066@redhat.com>
- Reply-To: egor duda <deo at logos-m dot ru>
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