]> git.ipfire.org Git - thirdparty/glibc.git/blame - locale/C-ctype.c
Fix locale/tst-locale-locpath cross-testing when sshd sets LANG.
[thirdparty/glibc.git] / locale / C-ctype.c
CommitLineData
d614a753 1/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
6d52618b 2 This file is part of the GNU C Library.
4b10dd6c 3 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
75cd5204 4
6d52618b 5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
75cd5204 9
6d52618b
UD
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
75cd5204 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
28f540f4 18
933e73fa
RM
19#include "localeinfo.h"
20#include <endian.h>
e054f494 21#include <stdint.h>
28f540f4 22
04fbc779
UD
23#include "C-translit.h"
24
14bab8de 25/* This table's entries are taken from POSIX.2 Table 2-6
6d52618b 26 ``LC_CTYPE Category Definition in the POSIX Locale''.
14bab8de
UD
27
28 The `_nl_C_LC_CTYPE_width' array is a GNU extension.
29
30 In the `_nl_C_LC_CTYPE_class' array the value for EOF (== -1)
31 is set to always return 0 and the conversion arrays return EOF. */
32
ab26a24a 33const char _nl_C_LC_CTYPE_class[768] attribute_hidden =
cd16d64d
UD
34 /* 0x80 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
35 /* 0x86 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
36 /* 0x8c */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
37 /* 0x92 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
38 /* 0x98 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
39 /* 0x9e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
40 /* 0xa4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
41 /* 0xaa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
42 /* 0xb0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
43 /* 0xb6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
44 /* 0xbc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
45 /* 0xc2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
46 /* 0xc8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
47 /* 0xce */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
48 /* 0xd4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
49 /* 0xda */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
50 /* 0xe0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
51 /* 0xe6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
52 /* 0xec */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
53 /* 0xf2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
54 /* 0xf8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
55 /* 0xfe */ "\000\000" "\000\000" "\002\000" "\002\000" "\002\000" "\002\000"
f0bf9cb9
RM
56 /* 0x04 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\003\040"
57 /* 0x0a */ "\002\040" "\002\040" "\002\040" "\002\040" "\002\000" "\002\000"
58 /* 0x10 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
59 /* 0x16 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
60 /* 0x1c */ "\002\000" "\002\000" "\002\000" "\002\000" "\001\140" "\004\300"
61 /* 0x22 */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300"
62 /* 0x28 */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300"
19bc17a9
RM
63 /* 0x2e */ "\004\300" "\004\300" "\010\330" "\010\330" "\010\330" "\010\330"
64 /* 0x34 */ "\010\330" "\010\330" "\010\330" "\010\330" "\010\330" "\010\330"
f0bf9cb9 65 /* 0x3a */ "\004\300" "\004\300" "\004\300" "\004\300" "\004\300" "\004\300"
19bc17a9
RM
66 /* 0x40 */ "\004\300" "\010\325" "\010\325" "\010\325" "\010\325" "\010\325"
67 /* 0x46 */ "\010\325" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305"
68 /* 0x4c */ "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305"
69 /* 0x52 */ "\010\305" "\010\305" "\010\305" "\010\305" "\010\305" "\010\305"
70 /* 0x58 */ "\010\305" "\010\305" "\010\305" "\004\300" "\004\300" "\004\300"
71 /* 0x5e */ "\004\300" "\004\300" "\004\300" "\010\326" "\010\326" "\010\326"
72 /* 0x64 */ "\010\326" "\010\326" "\010\326" "\010\306" "\010\306" "\010\306"
73 /* 0x6a */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306"
74 /* 0x70 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306"
75 /* 0x76 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\004\300"
cd16d64d
UD
76 /* 0x7c */ "\004\300" "\004\300" "\004\300" "\002\000" "\000\000" "\000\000"
77 /* 0x82 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
78 /* 0x88 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
79 /* 0x8e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
80 /* 0x94 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
81 /* 0x9a */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
82 /* 0xa0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
83 /* 0xa6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
84 /* 0xac */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
85 /* 0xb2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
86 /* 0xb8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
87 /* 0xbe */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
88 /* 0xc4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
89 /* 0xca */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
90 /* 0xd0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
91 /* 0xd6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
92 /* 0xdc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
93 /* 0xe2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
94 /* 0xe8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
95 /* 0xee */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
96 /* 0xf4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
97 /* 0xfa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
40deae08 98;
ab26a24a 99const char _nl_C_LC_CTYPE_class32[1024] attribute_hidden =
dc30f461
UD
100 /* 0x00 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
101 /* 0x03 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
102 /* 0x06 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
103 /* 0x09 */ "\000\000\003\040" "\000\000\002\040" "\000\000\002\040"
104 /* 0x0c */ "\000\000\002\040" "\000\000\002\040" "\000\000\002\000"
105 /* 0x0f */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
106 /* 0x12 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
107 /* 0x15 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
108 /* 0x18 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
109 /* 0x1b */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000"
110 /* 0x1e */ "\000\000\002\000" "\000\000\002\000" "\000\000\001\140"
111 /* 0x21 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
112 /* 0x24 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
113 /* 0x27 */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
114 /* 0x2a */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
115 /* 0x2d */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
116 /* 0x30 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
117 /* 0x33 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
118 /* 0x36 */ "\000\000\010\330" "\000\000\010\330" "\000\000\010\330"
119 /* 0x39 */ "\000\000\010\330" "\000\000\004\300" "\000\000\004\300"
120 /* 0x3c */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
121 /* 0x3f */ "\000\000\004\300" "\000\000\004\300" "\000\000\010\325"
122 /* 0x42 */ "\000\000\010\325" "\000\000\010\325" "\000\000\010\325"
123 /* 0x45 */ "\000\000\010\325" "\000\000\010\325" "\000\000\010\305"
124 /* 0x48 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
125 /* 0x4b */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
126 /* 0x4e */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
127 /* 0x51 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
128 /* 0x54 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
129 /* 0x57 */ "\000\000\010\305" "\000\000\010\305" "\000\000\010\305"
130 /* 0x5a */ "\000\000\010\305" "\000\000\004\300" "\000\000\004\300"
131 /* 0x5d */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
132 /* 0x60 */ "\000\000\004\300" "\000\000\010\326" "\000\000\010\326"
133 /* 0x63 */ "\000\000\010\326" "\000\000\010\326" "\000\000\010\326"
134 /* 0x66 */ "\000\000\010\326" "\000\000\010\306" "\000\000\010\306"
135 /* 0x69 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
136 /* 0x6c */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
137 /* 0x6f */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
138 /* 0x72 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
139 /* 0x75 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
140 /* 0x78 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306"
141 /* 0x7b */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300"
cd16d64d
UD
142 /* 0x7e */ "\000\000\004\300" "\000\000\002\000" "\000\000\000\000"
143 /* 0x81 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
144 /* 0x84 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
145 /* 0x87 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
146 /* 0x8a */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
147 /* 0x8d */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
148 /* 0x90 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
149 /* 0x93 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
150 /* 0x96 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
151 /* 0x99 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
152 /* 0x9c */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
153 /* 0x9f */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
154 /* 0xa2 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
155 /* 0xa5 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
156 /* 0xa8 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
157 /* 0xab */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
158 /* 0xae */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
159 /* 0xb1 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
160 /* 0xb4 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
161 /* 0xb7 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
162 /* 0xba */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
163 /* 0xbd */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
164 /* 0xc0 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
165 /* 0xc3 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
166 /* 0xc6 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
167 /* 0xc9 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
168 /* 0xcc */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
169 /* 0xcf */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
170 /* 0xd2 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
171 /* 0xd5 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
172 /* 0xd8 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
173 /* 0xdb */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
174 /* 0xde */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
175 /* 0xe1 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
176 /* 0xe4 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
177 /* 0xe7 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
178 /* 0xea */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
179 /* 0xed */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
180 /* 0xf0 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
181 /* 0xf3 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
182 /* 0xf6 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
183 /* 0xf9 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
184 /* 0xfc */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000"
185 /* 0xff */ "\000\000\000\000"
19bc17a9 186;
ab26a24a 187const uint32_t _nl_C_LC_CTYPE_toupper[384] attribute_hidden =
ce7a5ef4
RM
188{
189 /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
190 /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
191 /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
192 /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
193 /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
194 /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
195 /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
196 /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
197 /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
198 /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
199 /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
200 /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
201 /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
202 /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
203 /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
204 /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xffffffff,
205 /* 0x00 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
206 /* 0x08 */ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
207 /* 0x10 */ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
208 /* 0x18 */ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
209 /* 0x20 */ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
210 /* 0x28 */ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
211 /* 0x30 */ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
212 /* 0x38 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
213 /* 0x40 */ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
214 /* 0x48 */ 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
215 /* 0x50 */ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
216 /* 0x58 */ 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
217 /* 0x60 */ 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
218 /* 0x68 */ 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
219 /* 0x70 */ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
220 /* 0x78 */ 0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
221 /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
222 /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
223 /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
224 /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
225 /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
226 /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
227 /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
228 /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
229 /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
230 /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
231 /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
232 /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
233 /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
234 /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
235 /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
236 /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
237};
ab26a24a 238const uint32_t _nl_C_LC_CTYPE_tolower[384] attribute_hidden =
ce7a5ef4
RM
239{
240 /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
241 /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
242 /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
243 /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
244 /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
245 /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
246 /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
247 /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
248 /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
249 /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
250 /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
251 /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
252 /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
253 /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
254 /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
255 /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xffffffff,
256 /* 0x00 */ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
257 /* 0x08 */ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
258 /* 0x10 */ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
259 /* 0x18 */ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
260 /* 0x20 */ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
261 /* 0x28 */ 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
262 /* 0x30 */ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
263 /* 0x38 */ 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
264 /* 0x40 */ 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
265 /* 0x48 */ 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
266 /* 0x50 */ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
267 /* 0x58 */ 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
268 /* 0x60 */ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
269 /* 0x68 */ 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
270 /* 0x70 */ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
271 /* 0x78 */ 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
272 /* 0x80 */ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
273 /* 0x88 */ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
274 /* 0x90 */ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
275 /* 0x98 */ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
276 /* 0xa0 */ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
277 /* 0xa8 */ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
278 /* 0xb0 */ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
279 /* 0xb8 */ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
280 /* 0xc0 */ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
281 /* 0xc8 */ 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
282 /* 0xd0 */ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
283 /* 0xd8 */ 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
284 /* 0xe0 */ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
285 /* 0xe8 */ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
286 /* 0xf0 */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
287 /* 0xf8 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
288};
04ea3b0f
UD
289
290#define STRUCT_CTYPE_CLASS(p, q) \
291 struct \
292 { \
293 uint32_t isctype_data[8]; \
294 uint32_t header[5]; \
295 uint32_t level1[1]; \
296 uint32_t level2[1 << q]; \
297 uint32_t level3[1 << p]; \
298 }
299
ab26a24a 300const STRUCT_CTYPE_CLASS(1, 1) _nl_C_LC_CTYPE_class_upper attribute_hidden =
ce7a5ef4 301{
04ea3b0f
UD
302 { 0x00000000, 0x00000000, 0x07fffffe, 0x00000000,
303 0x00000000, 0x00000000, 0x00000000, 0x00000000
304 },
305 { 7, 1, 6, 1, 1 },
306 /* 1st-level table */
307 { 6 * sizeof (uint32_t) },
308 /* 2nd-level table */
309 { 0, 8 * sizeof (uint32_t) },
310 /* 3rd-level table */
311 { 0x07fffffe, 0x00000000 }
312};
ab26a24a 313const STRUCT_CTYPE_CLASS(1, 1) _nl_C_LC_CTYPE_class_lower attribute_hidden =
04ea3b0f
UD
314{
315 { 0x00000000, 0x00000000, 0x00000000, 0x07fffffe,
316 0x00000000, 0x00000000, 0x00000000, 0x00000000
317 },
318 { 7, 1, 6, 1, 1 },
319 /* 1st-level table */
320 { 6 * sizeof (uint32_t) },
321 /* 2nd-level table */
322 { 0, 8 * sizeof (uint32_t) },
323 /* 3rd-level table */
324 { 0x00000000, 0x07fffffe }
325};
ab26a24a 326const STRUCT_CTYPE_CLASS(1, 1) _nl_C_LC_CTYPE_class_alpha attribute_hidden =
04ea3b0f
UD
327{
328 { 0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
329 0x00000000, 0x00000000, 0x00000000, 0x00000000
330 },
331 { 7, 1, 6, 1, 1 },
332 /* 1st-level table */
333 { 6 * sizeof (uint32_t) },
334 /* 2nd-level table */
335 { 0, 8 * sizeof (uint32_t) },
336 /* 3rd-level table */
337 { 0x07fffffe, 0x07fffffe }
338};
ab26a24a 339const STRUCT_CTYPE_CLASS(1, 0) _nl_C_LC_CTYPE_class_digit attribute_hidden =
04ea3b0f
UD
340{
341 { 0x00000000, 0x03ff0000, 0x00000000, 0x00000000,
342 0x00000000, 0x00000000, 0x00000000, 0x00000000
343 },
344 { 6, 1, 6, 0, 1 },
345 /* 1st-level table */
346 { 6 * sizeof (uint32_t) },
347 /* 2nd-level table */
348 { 7 * sizeof (uint32_t) },
349 /* 3rd-level table */
350 { 0x00000000, 0x03ff0000 }
351};
ab26a24a 352const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_xdigit attribute_hidden =
04ea3b0f
UD
353{
354 { 0x00000000, 0x03ff0000, 0x0000007e, 0x0000007e,
355 0x00000000, 0x00000000, 0x00000000, 0x00000000
356 },
357 { 7, 1, 7, 0, 3 },
358 /* 1st-level table */
359 { 6 * sizeof (uint32_t) },
360 /* 2nd-level table */
361 { 7 * sizeof (uint32_t) },
362 /* 3rd-level table */
363 { 0x00000000, 0x03ff0000, 0x0000007e, 0x0000007e }
364};
ab26a24a 365const STRUCT_CTYPE_CLASS(1, 0) _nl_C_LC_CTYPE_class_space attribute_hidden =
04ea3b0f
UD
366{
367 { 0x00003e00, 0x00000001, 0x00000000, 0x00000000,
368 0x00000000, 0x00000000, 0x00000000, 0x00000000
369 },
370 { 6, 1, 6, 0, 1 },
371 /* 1st-level table */
372 { 6 * sizeof (uint32_t) },
373 /* 2nd-level table */
374 { 7 * sizeof (uint32_t) },
375 /* 3rd-level table */
376 { 0x00003e00, 0x00000001 }
377};
ab26a24a 378const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_print attribute_hidden =
04ea3b0f
UD
379{
380 { 0x00000000, 0xffffffff, 0xffffffff, 0x7fffffff,
381 0x00000000, 0x00000000, 0x00000000, 0x00000000
382 },
383 { 7, 1, 7, 0, 3 },
384 /* 1st-level table */
385 { 6 * sizeof (uint32_t) },
386 /* 2nd-level table */
387 { 7 * sizeof (uint32_t) },
388 /* 3rd-level table */
389 { 0x00000000, 0xffffffff, 0xffffffff, 0x7fffffff }
390};
ab26a24a 391const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_graph attribute_hidden =
04ea3b0f
UD
392{
393 { 0x00000000, 0xfffffffe, 0xffffffff, 0x7fffffff,
394 0x00000000, 0x00000000, 0x00000000, 0x00000000
395 },
396 { 7, 1, 7, 0, 3 },
397 /* 1st-level table */
398 { 6 * sizeof (uint32_t) },
399 /* 2nd-level table */
400 { 7 * sizeof (uint32_t) },
401 /* 3rd-level table */
402 { 0x00000000, 0xfffffffe, 0xffffffff, 0x7fffffff }
403};
ab26a24a 404const STRUCT_CTYPE_CLASS(1, 0) _nl_C_LC_CTYPE_class_blank attribute_hidden =
04ea3b0f
UD
405{
406 { 0x00000200, 0x00000001, 0x00000000, 0x00000000,
407 0x00000000, 0x00000000, 0x00000000, 0x00000000
408 },
409 { 6, 1, 6, 0, 1 },
410 /* 1st-level table */
411 { 6 * sizeof (uint32_t) },
412 /* 2nd-level table */
413 { 7 * sizeof (uint32_t) },
414 /* 3rd-level table */
415 { 0x00000200, 0x00000001 }
416};
ab26a24a 417const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_cntrl attribute_hidden =
04ea3b0f
UD
418{
419 { 0xffffffff, 0x00000000, 0x00000000, 0x80000000,
420 0x00000000, 0x00000000, 0x00000000, 0x00000000
421 },
422 { 7, 1, 7, 0, 3 },
423 /* 1st-level table */
424 { 6 * sizeof (uint32_t) },
425 /* 2nd-level table */
426 { 7 * sizeof (uint32_t) },
427 /* 3rd-level table */
428 { 0xffffffff, 0x00000000, 0x00000000, 0x80000000 }
429};
ab26a24a 430const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_punct attribute_hidden =
04ea3b0f
UD
431{
432 { 0x00000000, 0xfc00fffe, 0xf8000001, 0x78000001,
433 0x00000000, 0x00000000, 0x00000000, 0x00000000
434 },
435 { 7, 1, 7, 0, 3 },
436 /* 1st-level table */
437 { 6 * sizeof (uint32_t) },
438 /* 2nd-level table */
439 { 7 * sizeof (uint32_t) },
440 /* 3rd-level table */
441 { 0x00000000, 0xfc00fffe, 0xf8000001, 0x78000001 }
442};
ab26a24a 443const STRUCT_CTYPE_CLASS(2, 0) _nl_C_LC_CTYPE_class_alnum attribute_hidden =
04ea3b0f
UD
444{
445 { 0x00000000, 0x03ff0000, 0x07fffffe, 0x07fffffe,
446 0x00000000, 0x00000000, 0x00000000, 0x00000000
447 },
448 { 7, 1, 7, 0, 3 },
449 /* 1st-level table */
450 { 6 * sizeof (uint32_t) },
451 /* 2nd-level table */
452 { 7 * sizeof (uint32_t) },
453 /* 3rd-level table */
454 { 0x00000000, 0x03ff0000, 0x07fffffe, 0x07fffffe }
ce7a5ef4 455};
04ea3b0f
UD
456
457const struct
458{
459 uint32_t header[5];
460 uint32_t level1[1];
461 uint32_t level2[4];
462 int32_t level3[32];
463}
ab26a24a 464_nl_C_LC_CTYPE_map_toupper attribute_hidden =
04ea3b0f
UD
465{
466 { 7, 1, 5, 3, 31 },
467 /* 1st-level table */
468 { 6 * sizeof (uint32_t) },
469 /* 2nd-level table */
470 { 0, 0, 0, 10 * sizeof (uint32_t) },
471 /* 3rd-level table */
472 {
473 0x00000000, 0xffffffe0, 0xffffffe0, 0xffffffe0,
474 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0,
475 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0,
476 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0,
477 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0,
478 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0,
479 0xffffffe0, 0xffffffe0, 0xffffffe0, 0x00000000,
480 0x00000000, 0x00000000, 0x00000000, 0x00000000
481 }
482},
ab26a24a 483_nl_C_LC_CTYPE_map_tolower attribute_hidden =
04ea3b0f
UD
484{
485 { 7, 1, 5, 3, 31 },
486 /* 1st-level table */
487 { 6 * sizeof (uint32_t) },
488 /* 2nd-level table */
489 { 0, 0, 10 * sizeof (uint32_t), 0 },
490 /* 3rd-level table */
491 {
492 0x00000000, 0x00000020, 0x00000020, 0x00000020,
493 0x00000020, 0x00000020, 0x00000020, 0x00000020,
494 0x00000020, 0x00000020, 0x00000020, 0x00000020,
495 0x00000020, 0x00000020, 0x00000020, 0x00000020,
496 0x00000020, 0x00000020, 0x00000020, 0x00000020,
497 0x00000020, 0x00000020, 0x00000020, 0x00000020,
498 0x00000020, 0x00000020, 0x00000020, 0x00000000,
499 0x00000000, 0x00000000, 0x00000000, 0x00000000
500 }
501};
502
503const struct
504{
505 uint32_t header[5];
506 uint32_t level1[1];
4a9dcff1
UD
507 uint32_t level2[8];
508 int8_t level3[33];
04ea3b0f 509}
ab26a24a 510_nl_C_LC_CTYPE_width attribute_hidden =
04ea3b0f 511{
4a9dcff1 512 { 7, 1, 4, 7, 15 },
04ea3b0f
UD
513 /* 1st-level table */
514 { 6 * sizeof (uint32_t) },
515 /* 2nd-level table */
4a9dcff1
UD
516 {
517 14 * sizeof (uint32_t) + 0, 0,
518 14 * sizeof (uint32_t) + 16, 14 * sizeof (uint32_t) + 16,
519 14 * sizeof (uint32_t) + 16, 14 * sizeof (uint32_t) + 16,
520 14 * sizeof (uint32_t) + 16, 14 * sizeof (uint32_t) + 17
521 },
04ea3b0f 522 /* 3rd-level table */
4a9dcff1
UD
523 {
524 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526 -1
527 }
04ea3b0f
UD
528};
529
530/* Number of fields with fixed meanings, starting at 0. */
63fbc91b 531#define NR_FIXED 72
04ea3b0f
UD
532/* Number of class fields, starting at CLASS_OFFSET. */
533#define NR_CLASSES 12
534/* Number of map fields, starting at MAP_OFFSET. */
535#define NR_MAPS 2
536
537/* Compile time verification of
538 NR_FIXED == _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1). */
539typedef int assertion1[1 - 2 * (NR_FIXED != _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1))];
28f540f4 540
f095bb72 541const struct __locale_data _nl_C_LC_CTYPE attribute_hidden =
933e73fa 542{
7a12c6bb 543 _nl_C_name,
df9f41c9
RM
544 NULL, 0, 0, /* no file mapped */
545 { NULL, }, /* no cached data */
a5a0310d 546 UNDELETABLE,
476b6d7f 547 1, /* Enable transliteration by default. */
04ea3b0f 548 NR_FIXED + NR_CLASSES + NR_MAPS,
40deae08 549 {
04ea3b0f 550 /* _NL_CTYPE_CLASS */
0274d73c 551 { .string = _nl_C_LC_CTYPE_class },
04ea3b0f 552 /* _NL_CTYPE_TOUPPER */
0274d73c 553 { .string = (const char *) _nl_C_LC_CTYPE_toupper },
04ea3b0f 554 /* _NL_CTYPE_GAP1 */
0274d73c 555 { .string = NULL },
04ea3b0f 556 /* _NL_CTYPE_TOLOWER */
0274d73c 557 { .string = (const char *) _nl_C_LC_CTYPE_tolower },
04ea3b0f 558 /* _NL_CTYPE_GAP2 */
0274d73c 559 { .string = NULL },
04ea3b0f 560 /* _NL_CTYPE_CLASS32 */
0274d73c 561 { .string = _nl_C_LC_CTYPE_class32 },
04ea3b0f 562 /* _NL_CTYPE_GAP3 */
0274d73c 563 { .string = NULL },
4c7d276e 564 /* _NL_CTYPE_GAP4 */
0274d73c 565 { .string = NULL },
4c7d276e 566 /* _NL_CTYPE_GAP5 */
0274d73c 567 { .string = NULL },
4c7d276e 568 /* _NL_CTYPE_GAP6 */
0274d73c 569 { .string = NULL },
04ea3b0f 570 /* _NL_CTYPE_CLASS_NAMES */
0274d73c 571 { .string = "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0"
fc5771e4 572 "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" },
04ea3b0f 573 /* _NL_CTYPE_MAP_NAMES */
fc5771e4 574 { .string = "toupper\0" "tolower\0" },
04ea3b0f 575 /* _NL_CTYPE_WIDTH */
0274d73c 576 { .string = (const char *) _nl_C_LC_CTYPE_width.header },
04ea3b0f 577 /* _NL_CTYPE_MB_CUR_MAX */
0274d73c 578 { .word = 1 },
04ea3b0f 579 /* _NL_CTYPE_CODESET_NAME */
0274d73c 580 { .string = _nl_C_codeset },
04ea3b0f 581 /* _NL_CTYPE_TOUPPER32 */
0274d73c 582 { .string = (const char *) &_nl_C_LC_CTYPE_toupper[128] },
04ea3b0f 583 /* _NL_CTYPE_TOLOWER32 */
0274d73c 584 { .string = (const char *) &_nl_C_LC_CTYPE_tolower[128] },
04ea3b0f 585 /* _NL_CTYPE_CLASS_OFFSET */
0274d73c 586 { .word = NR_FIXED },
04ea3b0f 587 /* _NL_CTYPE_MAP_OFFSET */
0274d73c 588 { .word = NR_FIXED + NR_CLASSES },
04ea3b0f 589 /* _NL_CTYPE_INDIGITS_MB_LEN */
0274d73c 590 { .word = 1 },
04ea3b0f 591 /* _NL_CTYPE_INDIGITS0_MB .. _NL_CTYPE_INDIGITS9_MB */
0274d73c
RM
592 { .string = "0" },
593 { .string = "1" },
594 { .string = "2" },
595 { .string = "3" },
596 { .string = "4" },
597 { .string = "5" },
598 { .string = "6" },
599 { .string = "7" },
600 { .string = "8" },
601 { .string = "9" },
04ea3b0f 602 /* _NL_CTYPE_INDIGITS_WC_LEN */
0274d73c 603 { .word = 1 },
04ea3b0f 604 /* _NL_CTYPE_INDIGITS0_WC .. _NL_CTYPE_INDIGITS9_WC */
0274d73c
RM
605 { .wstr = (uint32_t *) L"0" },
606 { .wstr = (uint32_t *) L"1" },
607 { .wstr = (uint32_t *) L"2" },
608 { .wstr = (uint32_t *) L"3" },
609 { .wstr = (uint32_t *) L"4" },
610 { .wstr = (uint32_t *) L"5" },
611 { .wstr = (uint32_t *) L"6" },
612 { .wstr = (uint32_t *) L"7" },
613 { .wstr = (uint32_t *) L"8" },
614 { .wstr = (uint32_t *) L"9" },
04ea3b0f 615 /* _NL_CTYPE_OUTDIGIT0_MB .. _NL_CTYPE_OUTDIGIT9_MB */
0274d73c
RM
616 { .string = "0" },
617 { .string = "1" },
618 { .string = "2" },
619 { .string = "3" },
620 { .string = "4" },
621 { .string = "5" },
622 { .string = "6" },
623 { .string = "7" },
624 { .string = "8" },
625 { .string = "9" },
04ea3b0f 626 /* _NL_CTYPE_OUTDIGIT0_WC .. _NL_CTYPE_OUTDIGIT9_WC */
0274d73c
RM
627 { .word = L'0' },
628 { .word = L'1' },
629 { .word = L'2' },
630 { .word = L'3' },
631 { .word = L'4' },
632 { .word = L'5' },
633 { .word = L'6' },
634 { .word = L'7' },
635 { .word = L'8' },
636 { .word = L'9' },
04ea3b0f 637 /* _NL_CTYPE_TRANSLIT_TAB_SIZE */
0274d73c 638 { .word = NTRANSLIT },
04ea3b0f 639 /* _NL_CTYPE_TRANSLIT_FROM_IDX */
0274d73c 640 { .wstr = translit_from_idx },
04ea3b0f 641 /* _NL_CTYPE_TRANSLIT_FROM_TBL */
0274d73c 642 { .wstr = (uint32_t *) translit_from_tbl },
04ea3b0f 643 /* _NL_CTYPE_TRANSLIT_TO_IDX */
0274d73c 644 { .wstr = translit_to_idx },
04ea3b0f 645 /* _NL_CTYPE_TRANSLIT_TO_TBL */
0274d73c 646 { .wstr = (uint32_t *) translit_to_tbl },
04ea3b0f 647 /* _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN */
0274d73c 648 { .word = 1 },
04ea3b0f 649 /* _NL_CTYPE_TRANSLIT_DEFAULT_MISSING */
0274d73c 650 { .wstr = (uint32_t *) L"?" },
04ea3b0f 651 /* _NL_CTYPE_TRANSLIT_IGNORE_LEN */
0274d73c 652 { .word = 0 },
04ea3b0f 653 /* _NL_CTYPE_TRANSLIT_IGNORE */
0274d73c 654 { .wstr = NULL },
f0c7c524
UD
655 /* _NL_CTYPE_MAP_TO_NONASCII */
656 { .word = 0 },
63fbc91b
UD
657 /* _NL_CTYPE_NONASCII_CASE */
658 { .word = 0 },
04ea3b0f 659 /* NR_CLASSES wctype_tables */
0274d73c
RM
660 { .string = (const char *) _nl_C_LC_CTYPE_class_upper.header },
661 { .string = (const char *) _nl_C_LC_CTYPE_class_lower.header },
662 { .string = (const char *) _nl_C_LC_CTYPE_class_alpha.header },
663 { .string = (const char *) _nl_C_LC_CTYPE_class_digit.header },
664 { .string = (const char *) _nl_C_LC_CTYPE_class_xdigit.header },
665 { .string = (const char *) _nl_C_LC_CTYPE_class_space.header },
666 { .string = (const char *) _nl_C_LC_CTYPE_class_print.header },
667 { .string = (const char *) _nl_C_LC_CTYPE_class_graph.header },
668 { .string = (const char *) _nl_C_LC_CTYPE_class_blank.header },
669 { .string = (const char *) _nl_C_LC_CTYPE_class_cntrl.header },
670 { .string = (const char *) _nl_C_LC_CTYPE_class_punct.header },
671 { .string = (const char *) _nl_C_LC_CTYPE_class_alnum.header },
04ea3b0f 672 /* NR_MAPS wctrans_tables */
0274d73c 673 { .string = (const char *) _nl_C_LC_CTYPE_map_toupper.header },
63fbc91b 674 { .string = (const char *) _nl_C_LC_CTYPE_map_tolower.header }
40deae08 675 }
933e73fa 676};