Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Wed, 30 May 2001 10:15:16 -0400 From: Christopher Faylor To: Christopher Faylor Subject: Re: isspace() & i18n Message-ID: <20010530101516.E17603@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: Christopher Faylor References: <13254193676 DOT 20010530145756 AT logos-m DOT ru> <20010530095254 DOT B17603 AT redhat DOT com> <9265832872 DOT 20010530181156 AT logos-m DOT ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <9265832872.20010530181156@logos-m.ru>; from deo@logos-m.ru on Wed, May 30, 2001 at 06:11:56PM +0400 On Wed, May 30, 2001 at 06:11:56PM +0400, egor duda wrote: >Hi! > >Wednesday, 30 May, 2001 Christopher Faylor cgf AT redhat DOT com wrote: > >CF> On Wed, May 30, 2001 at 02:57:56PM +0400, egor duda wrote: > >>> 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? > >CF> Maybe we just need a cygwin_isspace which checks for just tabs and spaces? > >it's possible, of course, but the problem with referencing negative >array indices in is*() remains. > >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]. IMO, "we" should convert the arguments to the is* functions to unsigned char. This is a decision for the newlib folks though, isn't it? cgf