| 1 | #ifndef _WCTYPE_H |
|---|---|
| 2 | #include <wctype/wctype.h> |
| 3 | |
| 4 | #ifndef _ISOMAC |
| 5 | |
| 6 | libc_hidden_proto (iswalpha) |
| 7 | libc_hidden_proto (iswalnum) |
| 8 | libc_hidden_proto (iswdigit) |
| 9 | libc_hidden_proto (iswlower) |
| 10 | libc_hidden_proto (iswspace) |
| 11 | libc_hidden_proto (iswxdigit) |
| 12 | libc_hidden_proto (towlower) |
| 13 | libc_hidden_proto (towupper) |
| 14 | |
| 15 | /* Internal interfaces. */ |
| 16 | extern int __iswspace (wint_t __wc); |
| 17 | extern int __iswctype (wint_t __wc, wctype_t __desc); |
| 18 | extern wctype_t __wctype (const char *__property); |
| 19 | extern wctrans_t __wctrans (const char *__property); |
| 20 | extern wint_t __towctrans (wint_t __wc, wctrans_t __desc); |
| 21 | |
| 22 | extern __typeof (iswalnum) __iswalnum __THROW __attribute_pure__; |
| 23 | extern __typeof (iswalnum_l) __iswalnum_l; |
| 24 | extern __typeof (iswalpha_l) __iswalpha_l; |
| 25 | extern __typeof (iswblank_l) __iswblank_l; |
| 26 | extern __typeof (iswcntrl_l) __iswcntrl_l; |
| 27 | extern __typeof (iswdigit_l) __iswdigit_l; |
| 28 | extern __typeof (iswlower) __iswlower __THROW __attribute_pure__; |
| 29 | extern __typeof (iswlower_l) __iswlower_l; |
| 30 | extern __typeof (iswgraph_l) __iswgraph_l; |
| 31 | extern __typeof (iswprint_l) __iswprint_l; |
| 32 | extern __typeof (iswpunct_l) __iswpunct_l; |
| 33 | extern __typeof (iswspace_l) __iswspace_l; |
| 34 | extern __typeof (iswupper_l) __iswupper_l; |
| 35 | extern __typeof (iswxdigit_l) __iswxdigit_l; |
| 36 | extern __typeof (towlower_l) __towlower_l; |
| 37 | extern __typeof (towupper_l) __towupper_l; |
| 38 | extern __typeof (towlower) __towlower __THROW __attribute_pure__; |
| 39 | extern __typeof (towupper) __towupper __THROW __attribute_pure__; |
| 40 | |
| 41 | libc_hidden_proto (__towctrans) |
| 42 | libc_hidden_proto (__iswctype) |
| 43 | libc_hidden_proto (__iswalnum) |
| 44 | libc_hidden_proto (__iswalnum_l) |
| 45 | libc_hidden_proto (__iswalpha_l) |
| 46 | libc_hidden_proto (__iswblank_l) |
| 47 | libc_hidden_proto (__iswcntrl_l) |
| 48 | libc_hidden_proto (__iswdigit_l) |
| 49 | libc_hidden_proto (__iswlower) |
| 50 | libc_hidden_proto (__iswlower_l) |
| 51 | libc_hidden_proto (__iswgraph_l) |
| 52 | libc_hidden_proto (__iswprint_l) |
| 53 | libc_hidden_proto (__iswpunct_l) |
| 54 | libc_hidden_proto (__iswspace_l) |
| 55 | libc_hidden_proto (__iswupper_l) |
| 56 | libc_hidden_proto (__iswxdigit_l) |
| 57 | libc_hidden_proto (__towlower_l) |
| 58 | libc_hidden_proto (__towupper_l) |
| 59 | libc_hidden_proto (__towlower) |
| 60 | libc_hidden_proto (__towupper) |
| 61 | |
| 62 | /* The spec says that isdigit must only match the decimal digits. We |
| 63 | can check this without a memory access. */ |
| 64 | # if IS_IN (libc) |
| 65 | # undef iswdigit |
| 66 | # define iswdigit(c) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; }) |
| 67 | # undef iswdigit_l |
| 68 | # define iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; }) |
| 69 | # undef __iswdigit_l |
| 70 | # define __iswdigit_l(c, l) ({ wint_t __c = (c); __c >= L'0' && __c <= L'9'; }) |
| 71 | # endif |
| 72 | |
| 73 | #endif |
| 74 | #endif |
| 75 |