summaryrefslogtreecommitdiff
path: root/lib/c-ctype.h
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2003-01-28 20:55:20 +0000
committerBruno Haible <bruno@clisp.org>2003-01-28 20:55:20 +0000
commita57f5d745451ad9028faf70a7df4e8f0407326b4 (patch)
tree7e97ef0012a2dd061a2c680a0e6823a7e3c3253d /lib/c-ctype.h
parentf02c0a8f143140d93e855ed7ccd31779e707381d (diff)
downloadgnulib-a57f5d745451ad9028faf70a7df4e8f0407326b4.tar.gz
Optimization and comments.
Diffstat (limited to 'lib/c-ctype.h')
-rw-r--r--lib/c-ctype.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 0f69e1071f..990997bee5 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -27,6 +27,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdbool.h>
+/* The functions defined in this file assume the "C" locale and a character
+ set without diacritics (ASCII-US or EBCDIC-US or something like that).
+ Even if the "C" locale on a particular system is an extension of the ASCII
+ character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
+ is ISO-8859-1), the functions in this file recognize only the ASCII
+ characters. */
+
+
/* Check whether the ASCII optimizations apply. */
/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
@@ -82,8 +90,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
&& ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
-/* The character set is ISO646-US, not EBCDIC.
- The test of '$' is important to distinguish it from other ISO646 variants.
+/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
Testing the value of '\n' and '\r' is not relevant. */
#define C_CTYPE_ASCII 1
#endif
@@ -116,7 +123,7 @@ extern int c_toupper (int c);
#define c_isascii(c) \
({ int __c = (c); \
- ((__c & ~0x7f) == 0); \
+ (__c >= 0x00 && __c <= 0x7f); \
})
#if C_CTYPE_CONSECUTIVE_DIGITS \