[PATCH/RFA] Distinguish between EOF and character with value 0xff

Eric Blake ebb9@byu.net
Fri Apr 24 13:19:00 GMT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 4/24/2009 6:27 AM:
> Here's what I applied, including Mike's suggestion, and also fixing
> toupper and tolower for those avoiding alternate code pages.  Then I also
> committed an obvious followup to be namespace clean, in case the user
> #define's c.

Would it also be okay to apply this?  The idea is that on cygwin, even
though we must call the function to support particular locales, we can
still be nice and warn about invalid uses of toupper((char)ch).  Or is
there a simple test for when __ctype_ptr__ represents the C locale, in
which case rewriting this test would allow avoiding the function call for
apps that only care about the C locale?

  __extension__ ({ __typeof__ (__c) __x = (__c);	\
      __ctype_ptr__ == <WHAT> \
	? isupper(__x) ? (__x - 'A' + 'a') : __x \
        : (isupper) (__x);})


2009-04-24  Eric Blake  <ebb9@byu.net>

	Allow gcc warning for toupper even with extended charsets.
	* libc/include/ctype.h (toupper, tolower)
	[_MB_EXTENDED_CHARSETS_ISO]: Allow gcc warning when called with
	'char' even when we must call the function for correct behavior.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknxs2QACgkQ84KuGfSFAYAO/wCfS9LeLF48kz25cg99StxP08wz
gCYAn3HzJJQP0f2Q5NpigTFnwq/C8LT5
=G9vv
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: newlib.patch33
URL: <http://sourceware.org/pipermail/newlib/attachments/20090424/353707a1/attachment.ksh>


More information about the Newlib mailing list