Make alternative sigcontextpath a little more generic.
[AROS.git] / compiler / clib / __ctype_linklib.c
blob17d5e6634ec5541509361c060f6d17dd9753636b
1 /*
2 Copyright © 2012, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <sys/arosc.h>
7 #include <aros/symbolsets.h>
9 const unsigned short int *__ctype_b;
10 const int *__ctype_toupper;
11 const int *__ctype_tolower;
13 #if 0
14 /* FIXME: Temporary hack to get regina.library going */
15 /* Following code shoud be reenabled */
16 static int __ctype_init(void)
18 const struct arosc_ctype *ctype = __get_arosc_ctype();
20 __ctype_b = ctype->b;
21 __ctype_toupper = ctype->toupper;
22 __ctype_tolower = ctype->tolower;
24 return 1;
27 ADD2INIT(__ctype_init, 20);
28 #else
30 #define _ISupper 0x0001 /* UPPERCASE */
31 #define _ISlower 0x0002 /* lowercase */
32 #define _ISalpha 0x0004 /* a-y */
33 #define _ISdigit 0x0008 /* 0-9 */
34 #define _ISxdigit 0x0010 /* 0-9, a-f, A-F */
35 #define _ISspace 0x0020 /* Space, Tab, CR, LF, FF */
36 #define _ISprint 0x0040 /* 32-126, 160-255 */
37 #define _ISgraph 0x0080 /* [] */
38 #define _ISblank 0x0100 /* Space, Tab */
39 #define _IScntrl 0x0200 /* 0-31, 127 */
40 #define _ISpunct 0x0400 /* .,:;!? */
41 #define _ISalnum (_ISalpha | _ISdigit)
43 static const unsigned short int __ctype_b_array[384] =
45 0, /* -128 */
46 0, /* -127 */
47 0, /* -126 */
48 0, /* -125 */
49 0, /* -124 */
50 0, /* -123 */
51 0, /* -122 */
52 0, /* -121 */
53 0, /* -120 */
54 0, /* -119 */
55 0, /* -118 */
56 0, /* -117 */
57 0, /* -116 */
58 0, /* -115 */
59 0, /* -114 */
60 0, /* -113 */
61 0, /* -112 */
62 0, /* -111 */
63 0, /* -110 */
64 0, /* -109 */
65 0, /* -108 */
66 0, /* -107 */
67 0, /* -106 */
68 0, /* -105 */
69 0, /* -104 */
70 0, /* -103 */
71 0, /* -102 */
72 0, /* CSI */
73 0, /* -100 */
74 0, /* -99 */
75 0, /* -98 */
76 0, /* -97 */
77 0, /* NBSpace */
78 0, /* ¡ */
79 0, /* ¢ */
80 0, /* £ */
81 0, /* ¤ */
82 0, /* ¥ */
83 0, /* ¦ */
84 0, /* § */
85 0, /* ¨ */
86 0, /* © */
87 0, /* ª */
88 0, /* « */
89 0, /* ¬ */
90 0, /* ­ */
91 0, /* ® */
92 0, /* ¯ */
93 0, /* ° */
94 0, /* ± */
95 0, /* ² */
96 0, /* ³ */
97 0, /* ´ */
98 0, /* µ */
99 0, /* ¶ */
100 0, /* · */
101 0, /* ¸ */
102 0, /* ¹ */
103 0, /* º */
104 0, /* » */
105 0, /* ¼ */
106 0, /* ½ */
107 0, /* ¾ */
108 0, /* ¿ */
109 0, /* À */
110 0, /* Á */
111 0, /* Â */
112 0, /* Ã */
113 0, /* Ä */
114 0, /* Å */
115 0, /* Æ */
116 0, /* Ç */
117 0, /* È */
118 0, /* É */
119 0, /* Ê */
120 0, /* Ë */
121 0, /* Ì */
122 0, /* Í */
123 0, /* Î */
124 0, /* Ï */
125 0, /* Ð */
126 0, /* Ñ */
127 0, /* Ò */
128 0, /* Ó */
129 0, /* Ô */
130 0, /* Õ */
131 0, /* Ö */
132 0, /* × */
133 0, /* Ø */
134 0, /* Ù */
135 0, /* Ú */
136 0, /* Û */
137 0, /* Ü */
138 0, /* Ý */
139 0, /* Þ */
140 0, /* ß */
141 0, /* à */
142 0, /* á */
143 0, /* â */
144 0, /* ã */
145 0, /* ä */
146 0, /* å */
147 0, /* æ */
148 0, /* ç */
149 0, /* è */
150 0, /* é */
151 0, /* ê */
152 0, /* ë */
153 0, /* ì */
154 0, /* í */
155 0, /* î */
156 0, /* ï */
157 0, /* ð */
158 0, /* ñ */
159 0, /* ò */
160 0, /* ó */
161 0, /* ô */
162 0, /* õ */
163 0, /* ö */
164 0, /* ÷ */
165 0, /* ø */
166 0, /* ù */
167 0, /* ú */
168 0, /* û */
169 0, /* ü */
170 0, /* ý */
171 0, /* þ */
172 0, /* ÿ */
173 _IScntrl, /* 0 */
174 _IScntrl, /* 1 */
175 _IScntrl, /* 2 */
176 _IScntrl, /* 3 */
177 _IScntrl, /* 4 */
178 _IScntrl, /* 5 */
179 _IScntrl, /* 6 */
180 _IScntrl, /* 7 */
181 _IScntrl, /* Backspace */
182 _ISblank|_IScntrl|_ISspace, /* 9 */
183 _IScntrl|_ISspace, /* LF */
184 _IScntrl|_ISspace, /* 11 */
185 _IScntrl|_ISspace, /* 12 */
186 _IScntrl|_ISspace, /* CR */
187 _IScntrl, /* 14 */
188 _IScntrl, /* 15 */
189 _IScntrl, /* 16 */
190 _IScntrl, /* 17 */
191 _IScntrl, /* 18 */
192 _IScntrl, /* 19 */
193 _IScntrl, /* 20 */
194 _IScntrl, /* 21 */
195 _IScntrl, /* 22 */
196 _IScntrl, /* 23 */
197 _IScntrl, /* 24 */
198 _IScntrl, /* 25 */
199 _IScntrl, /* 26 */
200 _IScntrl, /* ESC */
201 _IScntrl, /* 28 */
202 _IScntrl, /* 29 */
203 _IScntrl, /* 30 */
204 _IScntrl, /* 31 */
205 _ISblank|_ISprint|_ISspace, /* Space */
206 _ISgraph|_ISprint|_ISpunct, /* ! */
207 _ISgraph|_ISprint|_ISpunct, /* " */
208 _ISgraph|_ISprint|_ISpunct, /* # */
209 _ISgraph|_ISprint|_ISpunct, /* $ */
210 _ISgraph|_ISprint|_ISpunct, /* % */
211 _ISgraph|_ISprint|_ISpunct, /* & */
212 _ISgraph|_ISprint|_ISpunct, /* ' */
213 _ISgraph|_ISprint|_ISpunct, /* ( */
214 _ISgraph|_ISprint|_ISpunct, /* ) */
215 _ISgraph|_ISprint|_ISpunct, /* * */
216 _ISgraph|_ISprint|_ISpunct, /* + */
217 _ISgraph|_ISprint|_ISpunct, /* , */
218 _ISgraph|_ISprint|_ISpunct, /* - */
219 _ISgraph|_ISprint|_ISpunct, /* . */
220 _ISgraph|_ISprint|_ISpunct, /* / */
221 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 0 */
222 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 1 */
223 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 2 */
224 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 3 */
225 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 4 */
226 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 5 */
227 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 6 */
228 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 7 */
229 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 8 */
230 _ISdigit|_ISgraph|_ISprint|_ISxdigit, /* 9 */
231 _ISgraph|_ISprint|_ISpunct, /* : */
232 _ISgraph|_ISprint|_ISpunct, /* ; */
233 _ISgraph|_ISprint|_ISpunct, /* < */
234 _ISgraph|_ISprint|_ISpunct, /* = */
235 _ISgraph|_ISprint|_ISpunct, /* > */
236 _ISgraph|_ISprint|_ISpunct, /* ? */
237 _ISgraph|_ISprint|_ISpunct, /* @ */
238 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* A */
239 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* B */
240 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* C */
241 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* D */
242 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* E */
243 _ISupper|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* F */
244 _ISupper|_ISalpha|_ISgraph|_ISprint, /* G */
245 _ISupper|_ISalpha|_ISgraph|_ISprint, /* H */
246 _ISupper|_ISalpha|_ISgraph|_ISprint, /* I */
247 _ISupper|_ISalpha|_ISgraph|_ISprint, /* J */
248 _ISupper|_ISalpha|_ISgraph|_ISprint, /* K */
249 _ISupper|_ISalpha|_ISgraph|_ISprint, /* L */
250 _ISupper|_ISalpha|_ISgraph|_ISprint, /* M */
251 _ISupper|_ISalpha|_ISgraph|_ISprint, /* N */
252 _ISupper|_ISalpha|_ISgraph|_ISprint, /* O */
253 _ISupper|_ISalpha|_ISgraph|_ISprint, /* P */
254 _ISupper|_ISalpha|_ISgraph|_ISprint, /* Q */
255 _ISupper|_ISalpha|_ISgraph|_ISprint, /* R */
256 _ISupper|_ISalpha|_ISgraph|_ISprint, /* S */
257 _ISupper|_ISalpha|_ISgraph|_ISprint, /* T */
258 _ISupper|_ISalpha|_ISgraph|_ISprint, /* U */
259 _ISupper|_ISalpha|_ISgraph|_ISprint, /* V */
260 _ISupper|_ISalpha|_ISgraph|_ISprint, /* W */
261 _ISupper|_ISalpha|_ISgraph|_ISprint, /* X */
262 _ISupper|_ISalpha|_ISgraph|_ISprint, /* Y */
263 _ISupper|_ISalpha|_ISgraph|_ISprint, /* Z */
264 _ISgraph|_ISprint|_ISpunct, /* [ */
265 _ISgraph|_ISprint|_ISpunct, /* \ */
266 _ISgraph|_ISprint|_ISpunct, /* ] */
267 _ISgraph|_ISprint|_ISpunct, /* ^ */
268 _ISgraph|_ISprint|_ISpunct, /* _ */
269 _ISgraph|_ISprint|_ISpunct, /* ` */
270 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* a */
271 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* b */
272 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* c */
273 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* d */
274 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* e */
275 _ISlower|_ISalpha|_ISgraph|_ISprint|_ISxdigit, /* f */
276 _ISlower|_ISalpha|_ISgraph|_ISprint, /* g */
277 _ISlower|_ISalpha|_ISgraph|_ISprint, /* h */
278 _ISlower|_ISalpha|_ISgraph|_ISprint, /* i */
279 _ISlower|_ISalpha|_ISgraph|_ISprint, /* j */
280 _ISlower|_ISalpha|_ISgraph|_ISprint, /* k */
281 _ISlower|_ISalpha|_ISgraph|_ISprint, /* l */
282 _ISlower|_ISalpha|_ISgraph|_ISprint, /* m */
283 _ISlower|_ISalpha|_ISgraph|_ISprint, /* n */
284 _ISlower|_ISalpha|_ISgraph|_ISprint, /* o */
285 _ISlower|_ISalpha|_ISgraph|_ISprint, /* p */
286 _ISlower|_ISalpha|_ISgraph|_ISprint, /* q */
287 _ISlower|_ISalpha|_ISgraph|_ISprint, /* r */
288 _ISlower|_ISalpha|_ISgraph|_ISprint, /* s */
289 _ISlower|_ISalpha|_ISgraph|_ISprint, /* t */
290 _ISlower|_ISalpha|_ISgraph|_ISprint, /* u */
291 _ISlower|_ISalpha|_ISgraph|_ISprint, /* v */
292 _ISlower|_ISalpha|_ISgraph|_ISprint, /* w */
293 _ISlower|_ISalpha|_ISgraph|_ISprint, /* x */
294 _ISlower|_ISalpha|_ISgraph|_ISprint, /* y */
295 _ISlower|_ISalpha|_ISgraph|_ISprint, /* z */
296 _ISgraph|_ISprint|_ISpunct, /* { */
297 _ISgraph|_ISprint|_ISpunct, /* | */
298 _ISgraph|_ISprint|_ISpunct, /* } */
299 _ISgraph|_ISprint|_ISpunct, /* ~ */
300 _IScntrl, /* Del */
301 0, /* 128 */
302 0, /* 129 */
303 0, /* 130 */
304 0, /* 131 */
305 0, /* 132 */
306 0, /* 133 */
307 0, /* 134 */
308 0, /* 135 */
309 0, /* 136 */
310 0, /* 137 */
311 0, /* 138 */
312 0, /* 139 */
313 0, /* 140 */
314 0, /* 141 */
315 0, /* 142 */
316 0, /* 143 */
317 0, /* 144 */
318 0, /* 145 */
319 0, /* 146 */
320 0, /* 147 */
321 0, /* 148 */
322 0, /* 149 */
323 0, /* 150 */
324 0, /* 151 */
325 0, /* 152 */
326 0, /* 153 */
327 0, /* 154 */
328 0, /* CSI */
329 0, /* 156 */
330 0, /* 157 */
331 0, /* 158 */
332 0, /* 159 */
333 0, /* NBSpace */
334 0, /* ¡ */
335 0, /* ¢ */
336 0, /* £ */
337 0, /* ¤ */
338 0, /* ¥ */
339 0, /* ¦ */
340 0, /* § */
341 0, /* ¨ */
342 0, /* © */
343 0, /* ª */
344 0, /* « */
345 0, /* ¬ */
346 0, /* ­ */
347 0, /* ® */
348 0, /* ¯ */
349 0, /* ° */
350 0, /* ± */
351 0, /* ² */
352 0, /* ³ */
353 0, /* ´ */
354 0, /* µ */
355 0, /* ¶ */
356 0, /* · */
357 0, /* ¸ */
358 0, /* ¹ */
359 0, /* º */
360 0, /* » */
361 0, /* ¼ */
362 0, /* ½ */
363 0, /* ¾ */
364 0, /* ¿ */
365 0, /* À */
366 0, /* Á */
367 0, /* Â */
368 0, /* Ã */
369 0, /* Ä */
370 0, /* Å */
371 0, /* Æ */
372 0, /* Ç */
373 0, /* È */
374 0, /* É */
375 0, /* Ê */
376 0, /* Ë */
377 0, /* Ì */
378 0, /* Í */
379 0, /* Î */
380 0, /* Ï */
381 0, /* Ð */
382 0, /* Ñ */
383 0, /* Ò */
384 0, /* Ó */
385 0, /* Ô */
386 0, /* Õ */
387 0, /* Ö */
388 0, /* × */
389 0, /* Ø */
390 0, /* Ù */
391 0, /* Ú */
392 0, /* Û */
393 0, /* Ü */
394 0, /* Ý */
395 0, /* Þ */
396 0, /* ß */
397 0, /* à */
398 0, /* á */
399 0, /* â */
400 0, /* ã */
401 0, /* ä */
402 0, /* å */
403 0, /* æ */
404 0, /* ç */
405 0, /* è */
406 0, /* é */
407 0, /* ê */
408 0, /* ë */
409 0, /* ì */
410 0, /* í */
411 0, /* î */
412 0, /* ï */
413 0, /* ð */
414 0, /* ñ */
415 0, /* ò */
416 0, /* ó */
417 0, /* ô */
418 0, /* õ */
419 0, /* ö */
420 0, /* ÷ */
421 0, /* ø */
422 0, /* ù */
423 0, /* ú */
424 0, /* û */
425 0, /* ü */
426 0, /* ý */
427 0, /* þ */
428 0, /* ÿ */
431 static const int __ctype_toupper_array[384] =
433 /* -128 */
434 128,129,130,131, 132,133,134,135,
435 136,137,138,139, 140,141,142,143,
436 144,145,146,147, 148,149,150,151,
437 152,153,154,155, 156,157,158,159,
438 160,161,162,163, 164,165,166,167,
439 168,169,170,171, 172,173,174,175,
440 176,177,178,179, 180,181,182,183,
441 184,185,186,187, 188,189,190,191,
442 192,193,194,195, 196,197,198,199,
443 200,201,202,203, 204,205,206,207,
444 208,209,210,211, 212,213,214,215,
445 216,217,218,219, 220,221,222,223,
446 224,225,226,227, 228,229,230,231,
447 232,233,234,235, 236,237,238,239,
448 240,241,242,243, 244,245,246,247,
449 248,249,250,251, 252,253,254,255,
451 0, 1, 2, 3, 4, 5, 6, 7,
452 8, 9, 10, 11, 12, 13, 14, 15,
453 16, 17, 18, 19, 20, 21, 22, 23,
454 24, 25, 26, 27, 28, 29, 30, 31,
455 ' ','!','"','#', '$','%','&','\'',
456 '(',')','*','+', ',','-','.','/',
457 '0','1','2','3', '4','5','6','7',
458 '8','9',':',';', '<','=','>','?',
459 '@','A','B','C', 'D','E','F','G',
460 'H','I','J','K', 'L','M','N','O',
461 'P','Q','R','S', 'T','U','V','W',
462 'X','Y','Z','[', '\\',']','^','_',
463 '`','A','B','C', 'D','E','F','G',
464 'H','I','J','K', 'L','M','N','O',
465 'P','Q','R','S', 'T','U','V','W',
466 'X','Y','Z','{', '|','}','~',127,
468 128,129,130,131, 132,133,134,135,
469 136,137,138,139, 140,141,142,143,
470 144,145,146,147, 148,149,150,151,
471 152,153,154,155, 156,157,158,159,
472 160,161,162,163, 164,165,166,167,
473 168,169,170,171, 172,173,174,175,
474 176,177,178,179, 180,181,182,183,
475 184,185,186,187, 188,189,190,191,
476 192,193,194,195, 196,197,198,199,
477 200,201,202,203, 204,205,206,207,
478 208,209,210,211, 212,213,214,215,
479 216,217,218,219, 220,221,222,223,
480 224,225,226,227, 228,229,230,231,
481 232,233,234,235, 236,237,238,239,
482 240,241,242,243, 244,245,246,247,
483 248,249,250,251, 252,253,254,255,
486 static const int __ctype_tolower_array[384] =
488 128,129,130,131, 132,133,134,135,
489 136,137,138,139, 140,141,142,143,
490 144,145,146,147, 148,149,150,151,
491 152,153,154,155, 156,157,158,159,
492 160,161,162,163, 164,165,166,167,
493 168,169,170,171, 172,173,174,175,
494 176,177,178,179, 180,181,182,183,
495 184,185,186,187, 188,189,190,191,
496 192,193,194,195, 196,197,198,199,
497 200,201,202,203, 204,205,206,207,
498 208,209,210,211, 212,213,214,215,
499 216,217,218,219, 220,221,222,223,
500 224,225,226,227, 228,229,230,231,
501 232,233,234,235, 236,237,238,239,
502 240,241,242,243, 244,245,246,247,
503 248,249,250,251, 252,253,254,255,
505 0, 1, 2, 3, 4, 5, 6, 7,
506 8, 9, 10, 11, 12, 13, 14, 15,
507 16, 17, 18, 19, 20, 21, 22, 23,
508 24, 25, 26, 27, 28, 29, 30, 31,
509 ' ','!','"','#', '$','%','&','\'',
510 '(',')','*','+', ',','-','.','/',
511 '0','1','2','3', '4','5','6','7',
512 '8','9',':',';', '<','=','>','?',
513 '@','a','b','c', 'd','e','f','g',
514 'h','i','j','k', 'l','m','n','o',
515 'p','q','r','s', 't','u','v','w',
516 'x','y','z','[', '\\',']','^','_',
517 '`','a','b','c', 'd','e','f','g',
518 'h','i','j','k', 'l','m','n','o',
519 'p','q','r','s', 't','u','v','w',
520 'x','y','z','{', '|','}','~',127,
522 128,129,130,131, 132,133,134,135,
523 136,137,138,139, 140,141,142,143,
524 144,145,146,147, 148,149,150,151,
525 152,153,154,155, 156,157,158,159,
526 160,161,162,163, 164,165,166,167,
527 168,169,170,171, 172,173,174,175,
528 176,177,178,179, 180,181,182,183,
529 184,185,186,187, 188,189,190,191,
530 192,193,194,195, 196,197,198,199,
531 200,201,202,203, 204,205,206,207,
532 208,209,210,211, 212,213,214,215,
533 216,217,218,219, 220,221,222,223,
534 224,225,226,227, 228,229,230,231,
535 232,233,234,235, 236,237,238,239,
536 240,241,242,243, 244,245,246,247,
537 248,249,250,251, 252,253,254,255,
540 static int __ctype_init(void)
542 __ctype_b = &__ctype_b_array[128];
543 __ctype_toupper = &__ctype_toupper_array[128];
544 __ctype_tolower = &__ctype_tolower_array[128];
546 return 1;
549 ADD2INIT(__ctype_init, 20);
550 #endif