delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/05/30/10:16:49

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <cgf AT redhat DOT com>
To: Christopher Faylor <cygwin-developers AT cygwin DOT com>
Subject: Re: isspace() & i18n
Message-ID: <20010530101516.E17603@redhat.com>
Reply-To: cygwin-developers AT cygwin DOT com
Mail-Followup-To: Christopher Faylor <cygwin-developers AT cygwin DOT com>
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
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019