delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/05/30/12:59:29

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
X-Apparently-From: <earnie?boyd AT yahoo DOT com>
Message-ID: <3B1526D9.4509FED9@yahoo.com>
Date: Wed, 30 May 2001 12:59:05 -0400
From: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Reply-To: Cygwin Developers <cygwin-developers AT cygwin DOT com>
X-Mailer: Mozilla 4.76 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Kazuhiro Fujieda <fujieda AT jaist DOT ac DOT jp>
CC: egor duda <cygwin-developers AT cygwin DOT com>
Subject: Re: isspace() & i18n
References: <13254193676 DOT 20010530145756 AT logos-m DOT ru>
<20010530095254 DOT B17603 AT redhat DOT com>
<9265832872 DOT 20010530181156 AT logos-m DOT ru> <s1s4ru2ls0n DOT fsf AT jaist DOT ac DOT jp>

Kazuhiro Fujieda wrote:
> 
> >>> On Wed, 30 May 2001 18:11:56 +0400
> >>> egor duda <deo AT logos-m DOT 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.

From www.opengroup.org:

SYNOPSIS



     #include <ctype.h>

     int isspace(int c);


DESCRIPTION

     The isspace() function tests whether c is a character of class
space in the program's current locale, see the XBD specification, Locale
. 

     In all cases c is an int, the value of which must be a character
representable as an unsigned char or must equal the value of the macro
EOF. If the argument has any other value, the behaviour is undefined. 

RETURN VALUE

     The isspace() function returns non-zero if c is a white-space
character; otherwise it returns 0. 

ERRORS

     No errors are defined. 
-----------------------------------

So given the above definition then the value passed must represent an
unsigned char otherwise the behaviour is undefined.  I think it operates
as described.

-- 
Earnie.

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

- Raw text -


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