1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19: #define __NO_CTYPE
20: #include <ctype.h>
21:
22:
23:
24: #define func(name, type) \
25: int __##name (int c, __locale_t l) { return __isctype_l (c, type, l); } \
26: weak_alias (__##name, name)
27:
28: func (isalnum_l, _ISalnum)
29: func (isalpha_l, _ISalpha)
30: func (iscntrl_l, _IScntrl)
31: func (isdigit_l, _ISdigit)
32: func (islower_l, _ISlower)
33: func (isgraph_l, _ISgraph)
34: func (isprint_l, _ISprint)
35: func (ispunct_l, _ISpunct)
36: func (isspace_l, _ISspace)
37: func (isupper_l, _ISupper)
38: func (isxdigit_l, _ISxdigit)
39:
40: int
41: (__tolower_l) (int c, __locale_t l)
42: {
43: return l->__ctype_tolower[c];
44: }
45: weak_alias (__tolower_l, tolower_l)
46:
47: int
48: (__toupper_l) (int c, __locale_t l)
49: {
50: return l->__ctype_toupper[c];
51: }
52: weak_alias (__toupper_l, toupper_l)