123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119 |
- #define __NO_CTYPE
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <limits.h>
- #include <stdint.h>
- #include <assert.h>
- #include <locale.h>
- #ifdef __UCLIBC_HAS_XLOCALE__
- #elif defined __UCLIBC_HAS_CTYPE_TABLES__
- #endif
- #ifdef __UCLIBC_HAS_XLOCALE__
- #include <xlocale.h>
- #endif
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
- #if EOF >= CHAR_MIN
- #define CTYPE_DOMAIN_CHECK(C) \
- (((unsigned int)((C) - CHAR_MIN)) <= (UCHAR_MAX - CHAR_MIN))
- #else
- #define CTYPE_DOMAIN_CHECK(C) \
- ((((unsigned int)((C) - CHAR_MIN)) <= (UCHAR_MAX - CHAR_MIN)) || ((C) == EOF))
- #endif
- #else
- #if EOF == -1
- #define CTYPE_DOMAIN_CHECK(C) \
- (((unsigned int)((C) - EOF)) <= (UCHAR_MAX - EOF))
- #else
- #define CTYPE_DOMAIN_CHECK(C) \
- ((((unsigned int)(C)) <= UCHAR_MAX) || ((C) == EOF))
- #endif
- #endif
- #endif
- #ifdef __UCLIBC_MJN3_ONLY__
- #ifdef L_isspace
- #warning CONSIDER: Should we assert when debugging and __UCLIBC_HAS_CTYPE_CHECKED?
- #warning TODO: Fix asserts in to{upper|lower}{_l}.
- #warning TODO: Optimize the isx*() funcs.
- #endif
- #endif
- #undef PASTE2
- #define PASTE2(X,Y) X ## Y
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- #undef CTYPE_NAME
- #undef ISCTYPE
- #undef CTYPE_ALIAS
- #ifdef __UCLIBC_DO_XLOCALE
- #define CTYPE_NAME(X) __is ## X ## _l
- #define ISCTYPE(C,F) __isctype_l( C, F, locale_arg)
- #define CTYPE_ALIAS(NAME) strong_alias( __is ## NAME ## _l , is ## NAME ## _l)
- #else
- #define CTYPE_NAME(X) is ## X
- #define ISCTYPE(C,F) __isctype( C, F )
- #define CTYPE_ALIAS(NAME)
- #endif
- #undef CTYPE_BODY
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- #undef NDEBUG
- #include <assert.h>
- extern void __isctype_assert(int c, int mask) __attribute__ ((__noreturn__)) attribute_hidden;
- #define CTYPE_BODY(NAME,C,MASK) \
- if (CTYPE_DOMAIN_CHECK(C)) { \
- return ISCTYPE(C, MASK); \
- } \
- __isctype_assert(C, MASK);
- #elif defined(__UCLIBC_HAS_CTYPE_CHECKED__)
- #define CTYPE_BODY(NAME,C,MASK) \
- return CTYPE_DOMAIN_CHECK(C) \
- ? ISCTYPE(C, MASK) \
- : 0;
- #elif defined(__UCLIBC_HAS_CTYPE_UNSAFE__)
- #define CTYPE_BODY(NAME,C,MASK) \
- return ISCTYPE(C, MASK);
- #else
- #error Unknown type of ctype checking!
- #endif
- #define IS_FUNC_BODY(NAME) \
- int CTYPE_NAME(NAME) (int c __LOCALE_PARAM ); \
- int CTYPE_NAME(NAME) (int c __LOCALE_PARAM ) \
- { \
- CTYPE_BODY(NAME,c,PASTE2(_IS,NAME)) \
- } \
- CTYPE_ALIAS(NAME)
- #else
- #define C_MACRO(X) PASTE2(__C_is,X)(c)
- #define CTYPE_NAME(X) is ## X
- #define IS_FUNC_BODY(NAME) \
- int CTYPE_NAME(NAME) (int c) \
- { \
- return C_MACRO(NAME); \
- }
- #endif
- #ifdef L___ctype_assert
- #ifdef __UCLIBC_HAS_CTYPE_ENFORCED__
- attribute_hidden void __isctype_assert(int c, int mask)
- {
- fprintf(stderr, "%s: __is*{_l}(%d,%#x {locale})\n", __uclibc_progname, c, mask);
- abort();
- }
- #endif
- #endif
- #if defined(L_isalnum) || defined(L_isalnum_l)
- IS_FUNC_BODY(alnum);
- #endif
- #if defined(L_isalpha) || defined(L_isalpha_l)
- IS_FUNC_BODY(alpha);
- #endif
- #if defined(L_isblank) || defined(L_isblank_l)
- IS_FUNC_BODY(blank);
- #endif
- #if defined(L_iscntrl) || defined(L_iscntrl_l)
- IS_FUNC_BODY(cntrl);
- #endif
- #if defined(L_isdigit) || defined(L_isdigit_l)
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- #if EOF >= CHAR_MIN
- #define __isdigit_char_or_EOF(C) __isdigit_char((C))
- #else
- #define __isdigit_char_or_EOF(C) __isdigit_int((C))
- #endif
- int CTYPE_NAME(digit) (int C __LOCALE_PARAM);
- int CTYPE_NAME(digit) (int C __LOCALE_PARAM)
- {
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- if (CTYPE_DOMAIN_CHECK(C)) {
- return __isdigit_char_or_EOF(C);
- }
- __isctype_assert(C, _ISdigit);
- #else
- return __isdigit_int(C);
- #endif
- }
- CTYPE_ALIAS(digit)
- #else
- IS_FUNC_BODY(digit);
- #endif
- #endif
- #if defined(L_isgraph) || defined(L_isgraph_l)
- IS_FUNC_BODY(graph);
- #endif
- #if defined(L_islower) || defined(L_islower_l)
- IS_FUNC_BODY(lower);
- #endif
- #if defined(L_isprint) || defined(L_isprint_l)
- IS_FUNC_BODY(print);
- #endif
- #if defined(L_ispunct) || defined(L_ispunct_l)
- IS_FUNC_BODY(punct);
- #endif
- #if defined(L_isspace) || defined(L_isspace_l)
- IS_FUNC_BODY(space);
- #endif
- #if defined(L_isupper) || defined(L_isupper_l)
- IS_FUNC_BODY(upper);
- #endif
- #if defined(L_isxdigit) || defined(L_isxdigit_l)
- IS_FUNC_BODY(xdigit);
- #endif
- #ifdef L_tolower
- #undef tolower
- #ifdef __UCLIBC_HAS_XLOCALE__
- #elif defined __UCLIBC_HAS_CTYPE_TABLES__
- #endif
- libc_hidden_proto(tolower)
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- int tolower(int c)
- {
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- assert(CTYPE_DOMAIN_CHECK(c));
- #endif
- return __UCLIBC_CTYPE_IN_TO_DOMAIN(c) ? (__UCLIBC_CTYPE_TOLOWER)[c] : c;
- }
- #else
- int tolower(int c)
- {
- return __C_tolower(c);
- }
- #endif
- libc_hidden_def(tolower)
- #endif
- #ifdef L_tolower_l
- #undef tolower_l
- libc_hidden_proto(tolower_l)
- int tolower_l(int c, __locale_t l)
- {
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- assert(CTYPE_DOMAIN_CHECK(c));
- #endif
- return __UCLIBC_CTYPE_IN_TO_DOMAIN(c) ? l->__ctype_tolower[c] : c;
- }
- libc_hidden_def(tolower_l)
- weak_alias (tolower_l, __tolower_l)
- #endif
- #ifdef L_toupper
- #undef toupper
- #ifdef __UCLIBC_HAS_XLOCALE__
- #elif defined __UCLIBC_HAS_CTYPE_TABLES__
- libc_hidden_proto(__ctype_toupper)
- #endif
- libc_hidden_proto(toupper)
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- int toupper(int c)
- {
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- assert(CTYPE_DOMAIN_CHECK(c));
- #endif
- return __UCLIBC_CTYPE_IN_TO_DOMAIN(c) ? (__UCLIBC_CTYPE_TOUPPER)[c] : c;
- }
- #else
- int toupper(int c)
- {
- return __C_toupper(c);
- }
- #endif
- libc_hidden_def(toupper)
- #endif
- #ifdef L_toupper_l
- #undef toupper_l
- libc_hidden_proto(toupper_l)
- int toupper_l(int c, __locale_t l)
- {
- #if defined(__UCLIBC_HAS_CTYPE_ENFORCED__)
- assert(CTYPE_DOMAIN_CHECK(c));
- #endif
- return __UCLIBC_CTYPE_IN_TO_DOMAIN(c) ? l->__ctype_toupper[c] : c;
- }
- libc_hidden_def(toupper_l)
- weak_alias (toupper_l, __toupper_l)
- #endif
- #if defined(L_isascii) || defined(L_isascii_l)
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- int __XL_NPP(isascii)(int c);
- int __XL_NPP(isascii)(int c)
- {
- return __isascii(c);
- }
- #else
- libc_hidden_proto(isascii)
- int isascii(int c)
- {
- return __isascii(c);
- }
- libc_hidden_def(isascii)
- #endif
- #endif
- #if defined(L_toascii) || defined(L_toascii_l)
- #ifdef __UCLIBC_HAS_CTYPE_TABLES__
- int __XL_NPP(toascii)(int c);
- int __XL_NPP(toascii)(int c)
- {
- return __toascii(c);
- }
- #else
- int toascii(int c)
- {
- return __toascii(c);
- }
- #endif
- #endif
- #ifdef L_isctype
- int isctype(int c, int mask)
- {
- CTYPE_BODY(NAME,c,mask)
- }
- #endif
- #ifdef L___ctype_b_loc
- #ifdef __UCLIBC_HAS_XLOCALE__
- const __ctype_mask_t **__ctype_b_loc(void)
- {
- return &(__UCLIBC_CURLOCALE_DATA).__ctype_b;
- }
- libc_hidden_def(__ctype_b_loc)
- #endif
- #endif
- #ifdef L___ctype_tolower_loc
- #ifdef __UCLIBC_HAS_XLOCALE__
- const __ctype_touplow_t **__ctype_tolower_loc(void)
- {
- return &(__UCLIBC_CURLOCALE_DATA).__ctype_tolower;
- }
- libc_hidden_def(__ctype_tolower_loc)
- #endif
- #endif
- #ifdef L___ctype_toupper_loc
- #ifdef __UCLIBC_HAS_XLOCALE__
- const __ctype_touplow_t **__ctype_toupper_loc(void)
- {
- return &(__UCLIBC_CURLOCALE_DATA).__ctype_toupper;
- }
- libc_hidden_def(__ctype_toupper_loc)
- #endif
- #endif
- #ifdef L___C_ctype_b
- extern const __ctype_mask_t __C_ctype_b_data[];
- libc_hidden_proto(__C_ctype_b_data)
- const __ctype_mask_t __C_ctype_b_data[] = {
- #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- #endif
- 0,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _ISspace|_ISblank|_IScntrl,
- _ISspace|_IScntrl,
- _ISspace|_IScntrl,
- _ISspace|_IScntrl,
- _ISspace|_IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _IScntrl,
- _ISspace|_ISprint|_ISblank,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISdigit|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISupper|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISxdigit|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISlower|_ISalpha|_ISprint|_ISgraph|_ISalnum,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _ISprint|_ISgraph|_ISpunct,
- _IScntrl,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- };
- libc_hidden_data_def(__C_ctype_b_data)
- const __ctype_mask_t *__C_ctype_b = __C_ctype_b_data + __UCLIBC_CTYPE_B_TBL_OFFSET;
- libc_hidden_data_def(__C_ctype_b)
- #ifndef __UCLIBC_HAS_XLOCALE__
- const __ctype_mask_t *__ctype_b = __C_ctype_b_data + __UCLIBC_CTYPE_B_TBL_OFFSET;
- libc_hidden_data_def(__ctype_b)
- #endif
- #endif
- #ifdef L___C_ctype_tolower
- extern const __ctype_touplow_t __C_ctype_tolower_data[];
- libc_hidden_proto(__C_ctype_tolower_data)
- const __ctype_touplow_t __C_ctype_tolower_data[] = {
- #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
- -128, -127, -126, -125,
- -124, -123, -122, -121,
- -120, -119, -118, -117,
- -116, -115, -114, -113,
- -112, -111, -110, -109,
- -108, -107, -106, -105,
- -104, -103, -102, -101,
- -100, -99, -98, -97,
- -96, -95, -94, -93,
- -92, -91, -90, -89,
- -88, -87, -86, -85,
- -84, -83, -82, -81,
- -80, -79, -78, -77,
- -76, -75, -74, -73,
- -72, -71, -70, -69,
- -68, -67, -66, -65,
- -64, -63, -62, -61,
- -60, -59, -58, -57,
- -56, -55, -54, -53,
- -52, -51, -50, -49,
- -48, -47, -46, -45,
- -44, -43, -42, -41,
- -40, -39, -38, -37,
- -36, -35, -34, -33,
- -32, -31, -30, -29,
- -28, -27, -26, -25,
- -24, -23, -22, -21,
- -20, -19, -18, -17,
- -16, -15, -14, -13,
- -12, -11, -10, -9,
- -8, -7, -6, -5,
- -4, -3, -2, -1,
- #endif
- 0, 1, 2, 3,
- 4, 5, 6, 7,
- 8, 9, 10, 11,
- 12, 13, 14, 15,
- 16, 17, 18, 19,
- 20, 21, 22, 23,
- 24, 25, 26, 27,
- 28, 29, 30, 31,
- 32, 33, 34, 35,
- 36, 37, 38, 39,
- 40, 41, 42, 43,
- 44, 45, 46, 47,
- 48, 49, 50, 51,
- 52, 53, 54, 55,
- 56, 57, 58, 59,
- 60, 61, 62, 63,
- 64, 97 , 98 , 99 ,
- 100 , 101 , 102 , 103 ,
- 104 , 105 , 106 , 107 ,
- 108 , 109 , 110 , 111 ,
- 112 , 113 , 114 , 115 ,
- 116 , 117 , 118 , 119 ,
- 120 , 121 , 122 , 91,
- 92, 93, 94, 95,
- 96, 97, 98, 99,
- 100, 101, 102, 103,
- 104, 105, 106, 107,
- 108, 109, 110, 111,
- 112, 113, 114, 115,
- 116, 117, 118, 119,
- 120, 121, 122, 123,
- 124, 125, 126, 127,
- 128, 129, 130, 131,
- 132, 133, 134, 135,
- 136, 137, 138, 139,
- 140, 141, 142, 143,
- 144, 145, 146, 147,
- 148, 149, 150, 151,
- 152, 153, 154, 155,
- 156, 157, 158, 159,
- 160, 161, 162, 163,
- 164, 165, 166, 167,
- 168, 169, 170, 171,
- 172, 173, 174, 175,
- 176, 177, 178, 179,
- 180, 181, 182, 183,
- 184, 185, 186, 187,
- 188, 189, 190, 191,
- 192, 193, 194, 195,
- 196, 197, 198, 199,
- 200, 201, 202, 203,
- 204, 205, 206, 207,
- 208, 209, 210, 211,
- 212, 213, 214, 215,
- 216, 217, 218, 219,
- 220, 221, 222, 223,
- 224, 225, 226, 227,
- 228, 229, 230, 231,
- 232, 233, 234, 235,
- 236, 237, 238, 239,
- 240, 241, 242, 243,
- 244, 245, 246, 247,
- 248, 249, 250, 251,
- 252, 253, 254, 255
- };
- libc_hidden_data_def(__C_ctype_tolower_data)
- const __ctype_touplow_t *__C_ctype_tolower = __C_ctype_tolower_data
- + __UCLIBC_CTYPE_TO_TBL_OFFSET;
- libc_hidden_data_def(__C_ctype_tolower)
- #ifndef __UCLIBC_HAS_XLOCALE__
- const __ctype_touplow_t *__ctype_tolower = __C_ctype_tolower_data
- + __UCLIBC_CTYPE_TO_TBL_OFFSET;
- libc_hidden_data_def(__ctype_tolower)
- #endif
- #endif
- #ifdef L___C_ctype_toupper
- extern const __ctype_touplow_t __C_ctype_toupper_data[];
- libc_hidden_proto(__C_ctype_toupper_data)
- const __ctype_touplow_t __C_ctype_toupper_data[] = {
- #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
- -128, -127, -126, -125,
- -124, -123, -122, -121,
- -120, -119, -118, -117,
- -116, -115, -114, -113,
- -112, -111, -110, -109,
- -108, -107, -106, -105,
- -104, -103, -102, -101,
- -100, -99, -98, -97,
- -96, -95, -94, -93,
- -92, -91, -90, -89,
- -88, -87, -86, -85,
- -84, -83, -82, -81,
- -80, -79, -78, -77,
- -76, -75, -74, -73,
- -72, -71, -70, -69,
- -68, -67, -66, -65,
- -64, -63, -62, -61,
- -60, -59, -58, -57,
- -56, -55, -54, -53,
- -52, -51, -50, -49,
- -48, -47, -46, -45,
- -44, -43, -42, -41,
- -40, -39, -38, -37,
- -36, -35, -34, -33,
- -32, -31, -30, -29,
- -28, -27, -26, -25,
- -24, -23, -22, -21,
- -20, -19, -18, -17,
- -16, -15, -14, -13,
- -12, -11, -10, -9,
- -8, -7, -6, -5,
- -4, -3, -2, -1,
- #endif
- 0, 1, 2, 3,
- 4, 5, 6, 7,
- 8, 9, 10, 11,
- 12, 13, 14, 15,
- 16, 17, 18, 19,
- 20, 21, 22, 23,
- 24, 25, 26, 27,
- 28, 29, 30, 31,
- 32, 33, 34, 35,
- 36, 37, 38, 39,
- 40, 41, 42, 43,
- 44, 45, 46, 47,
- 48, 49, 50, 51,
- 52, 53, 54, 55,
- 56, 57, 58, 59,
- 60, 61, 62, 63,
- 64, 65, 66, 67,
- 68, 69, 70, 71,
- 72, 73, 74, 75,
- 76, 77, 78, 79,
- 80, 81, 82, 83,
- 84, 85, 86, 87,
- 88, 89, 90, 91,
- 92, 93, 94, 95,
- 96, 65 , 66 , 67 ,
- 68 , 69 , 70 , 71 ,
- 72 , 73 , 74 , 75 ,
- 76 , 77 , 78 , 79 ,
- 80 , 81 , 82 , 83 ,
- 84 , 85 , 86 , 87 ,
- 88 , 89 , 90 , 123,
- 124, 125, 126, 127,
- 128, 129, 130, 131,
- 132, 133, 134, 135,
- 136, 137, 138, 139,
- 140, 141, 142, 143,
- 144, 145, 146, 147,
- 148, 149, 150, 151,
- 152, 153, 154, 155,
- 156, 157, 158, 159,
- 160, 161, 162, 163,
- 164, 165, 166, 167,
- 168, 169, 170, 171,
- 172, 173, 174, 175,
- 176, 177, 178, 179,
- 180, 181, 182, 183,
- 184, 185, 186, 187,
- 188, 189, 190, 191,
- 192, 193, 194, 195,
- 196, 197, 198, 199,
- 200, 201, 202, 203,
- 204, 205, 206, 207,
- 208, 209, 210, 211,
- 212, 213, 214, 215,
- 216, 217, 218, 219,
- 220, 221, 222, 223,
- 224, 225, 226, 227,
- 228, 229, 230, 231,
- 232, 233, 234, 235,
- 236, 237, 238, 239,
- 240, 241, 242, 243,
- 244, 245, 246, 247,
- 248, 249, 250, 251,
- 252, 253, 254, 255
- };
- libc_hidden_data_def(__C_ctype_toupper_data)
- const __ctype_touplow_t *__C_ctype_toupper = __C_ctype_toupper_data
- + __UCLIBC_CTYPE_TO_TBL_OFFSET;
- libc_hidden_data_def(__C_ctype_toupper)
- #ifndef __UCLIBC_HAS_XLOCALE__
- libc_hidden_proto(__ctype_toupper)
- const __ctype_touplow_t *__ctype_toupper = __C_ctype_toupper_data
- + __UCLIBC_CTYPE_TO_TBL_OFFSET;
- libc_hidden_data_def(__ctype_toupper)
- #endif
- #endif
|