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 X-Apparently-From: Message-ID: <3B1526D9.4509FED9@yahoo.com> Date: Wed, 30 May 2001 12:59:05 -0400 From: Earnie Boyd Reply-To: Cygwin Developers X-Mailer: Mozilla 4.76 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Kazuhiro Fujieda CC: egor duda 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Kazuhiro Fujieda wrote: > > >>> On Wed, 30 May 2001 18:11:56 +0400 > >>> egor duda 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 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