summaryrefslogtreecommitdiff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/C-ctype.c172
-rw-r--r--locale/programs/ld-ctype.c5
2 files changed, 90 insertions, 87 deletions
diff --git a/locale/C-ctype.c b/locale/C-ctype.c
index 851b95fd98..09511eb1e6 100644
--- a/locale/C-ctype.c
+++ b/locale/C-ctype.c
@@ -95,92 +95,92 @@ const char _nl_C_LC_CTYPE_class[768] =
/* 0xfa */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
;
const char _nl_C_LC_CTYPE_class32[1024] =
- /* 0x00 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x03 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x06 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x09 */ "\000\000\003\040" "\000\000\002\040" "\000\000\002\040"
- /* 0x0c */ "\000\000\002\040" "\000\000\002\040" "\000\000\002\000"
- /* 0x0f */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x12 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x15 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x18 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x1b */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x1e */ "\000\000\002\000" "\000\000\002\000" "\000\000\001\140"
- /* 0x21 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x24 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x27 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x2a */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x2d */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x30 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
- /* 0x33 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
- /* 0x36 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
- /* 0x39 */ "\000\000\010\330" "\000\000\004\300" "\000\000\004\300"
- /* 0x3c */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x3f */ "\000\000\004\300" "\000\000\004\300" "\000\000\010\325"
- /* 0x42 */ "\000\000\010\325" "\000\000\010\325" "\000\000\010\325"
- /* 0x45 */ "\000\000\010\325" "\000\000\010\325" "\000\000\010\305"
- /* 0x48 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x4b */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x4e */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x51 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x54 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x57 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
- /* 0x5a */ "\000\000\010\305" "\000\000\004\300" "\000\000\004\300"
- /* 0x5d */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x60 */ "\000\000\004\300" "\000\000\010\326" "\000\000\010\326"
- /* 0x63 */ "\000\000\010\326" "\000\000\010\326" "\000\000\010\326"
- /* 0x66 */ "\000\000\010\326" "\000\000\010\306" "\000\000\010\306"
- /* 0x69 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x6c */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x6f */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x72 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x75 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x78 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
- /* 0x7b */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
- /* 0x7e */ "\000\000\004\300" "\000\000\002\000" "\000\000\002\000"
- /* 0x81 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x84 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x87 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x8a */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x8d */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x90 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x93 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x96 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x99 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x9c */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0x9f */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xa2 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xa5 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xa8 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xab */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xae */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xb1 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xb4 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xb7 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xba */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xbd */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xc0 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xc3 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xc6 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xc9 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xcc */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xcf */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xd2 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xd5 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xd8 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xdb */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xde */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xe1 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xe4 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xe7 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xea */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xed */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xf0 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xf3 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xf6 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xf9 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xfc */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
- /* 0xff */ "\000\000\002\000"
+ /* 0x00 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x03 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x06 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x09 */ "\003\040\000\000" "\002\040\000\000" "\002\040\000\000"
+ /* 0x0c */ "\002\040\000\000" "\002\040\000\000" "\002\000\000\000"
+ /* 0x0f */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x12 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x15 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x18 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x1b */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x1e */ "\002\000\000\000" "\002\000\000\000" "\001\140\000\000"
+ /* 0x21 */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x24 */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x27 */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x2a */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x2d */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x30 */ "\010\330\000\000" "\010\330\000\000" "\010\330\000\000"
+ /* 0x33 */ "\010\330\000\000" "\010\330\000\000" "\010\330\000\000"
+ /* 0x36 */ "\010\330\000\000" "\010\330\000\000" "\010\330\000\000"
+ /* 0x39 */ "\010\330\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x3c */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x3f */ "\004\300\000\000" "\004\300\000\000" "\010\325\000\000"
+ /* 0x42 */ "\010\325\000\000" "\010\325\000\000" "\010\325\000\000"
+ /* 0x45 */ "\010\325\000\000" "\010\325\000\000" "\010\305\000\000"
+ /* 0x48 */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x4b */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x4e */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x51 */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x54 */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x57 */ "\010\305\000\000" "\010\305\000\000" "\010\305\000\000"
+ /* 0x5a */ "\010\305\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x5d */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x60 */ "\004\300\000\000" "\010\326\000\000" "\010\326\000\000"
+ /* 0x63 */ "\010\326\000\000" "\010\326\000\000" "\010\326\000\000"
+ /* 0x66 */ "\010\326\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x69 */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x6c */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x6f */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x72 */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x75 */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x78 */ "\010\306\000\000" "\010\306\000\000" "\010\306\000\000"
+ /* 0x7b */ "\004\300\000\000" "\004\300\000\000" "\004\300\000\000"
+ /* 0x7e */ "\004\300\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x81 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x84 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x87 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x8a */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x8d */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x90 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x93 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x96 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x99 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x9c */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0x9f */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xa2 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xa5 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xa8 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xab */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xae */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xb1 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xb4 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xb7 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xba */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xbd */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xc0 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xc3 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xc6 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xc9 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xcc */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xcf */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xd2 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xd5 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xd8 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xdb */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xde */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xe1 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xe4 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xe7 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xea */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xed */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xf0 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xf3 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xf6 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xf9 */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xfc */ "\002\000\000\000" "\002\000\000\000" "\002\000\000\000"
+ /* 0xff */ "\002\000\000\000"
;
const u_int32_t _nl_C_LC_CTYPE_toupper[384] =
{
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index e2ebf26254..0a5e4eebf1 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -56,6 +56,9 @@ void *xrealloc (void *__ptr, size_t __n);
#define SWAPU16(w) \
((((w) >> 8) & 0xff) | (((w) & 0xff) << 8))
+#define XSWAPU32(w) \
+ ((((w) & 0xff00ff00) >> 8) | (((w) & 0xff00ff) << 8))
+
/* To be compatible with former implementations we for now restrict
the number of bits for character classes to 16. When compatibility
@@ -63,7 +66,7 @@ void *xrealloc (void *__ptr, size_t __n);
#define char_class_t u_int16_t
#define CHAR_CLASS_TRANS SWAPU16
#define char_class32_t u_int32_t
-#define CHAR_CLASS32_TRANS SWAPU32
+#define CHAR_CLASS32_TRANS XSWAPU32
/* The real definition of the struct for the LC_CTYPE locale. */