Skip to content

Commit bdf2e11

Browse files
committed
ctype: Clean up ctype.h
Use extern inline for all statement macros. Get rid of tolower/toupper macros which used __CTYPE_PTR. Add _ to ALLOW_NEGATIVE_CTYPE_INDEX to avoid application namespace. Use __CTYPE_PTR and __CTYPE_PTR_L instead of __locale_ctype_ptr. Signed-off-by: Keith Packard <[email protected]>
1 parent 9398e52 commit bdf2e11

File tree

15 files changed

+55
-93
lines changed

15 files changed

+55
-93
lines changed

newlib/libc/ctype/ctype_.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,31 +34,29 @@
3434
#include "locale_private.h"
3535
#include "../stdlib/local.h"
3636

37-
#if defined(ALLOW_NEGATIVE_CTYPE_INDEX)
38-
/* No static const on Cygwin since it's referenced and potentially overwritten
39-
for compatibility with older applications. */
40-
const
41-
char _ctype_b[128 + 256] = {
37+
#if defined(_ALLOW_NEGATIVE_CTYPE_INDEX)
38+
39+
const char _ctype_b[128 + 256] = {
4240
_CTYPE_DATA_128_255,
4341
_CTYPE_DATA_0_127,
4442
_CTYPE_DATA_128_255
4543
};
4644

47-
#else /* !ALLOW_NEGATIVE_CTYPE_INDEX */
45+
#else /* !_ALLOW_NEGATIVE_CTYPE_INDEX */
4846

4947
const char _ctype_[1 + 256] = {
5048
0,
5149
_CTYPE_DATA_0_127,
5250
_CTYPE_DATA_128_255
5351
};
5452

55-
#endif /* !ALLOW_NEGATIVE_CTYPE_INDEX */
53+
#endif /* !_ALLOW_NEGATIVE_CTYPE_INDEX */
5654

5755
#ifdef _MB_EXTENDED_CHARSETS_NON_UNICODE
5856

5957
#include "ctype_extended.h"
6058

61-
#if defined(ALLOW_NEGATIVE_CTYPE_INDEX)
59+
#if defined(_ALLOW_NEGATIVE_CTYPE_INDEX)
6260

6361
#define __CTYPE(base) [locale_ ## base - locale_EXTENDED_BASE] = { \
6462
_CTYPE_ ## base ## _128_254, \
@@ -79,7 +77,7 @@ const char _ctype_[1 + 256] = {
7977

8078
#endif
8179

82-
const char __ctype[locale_END - locale_EXTENDED_BASE][CTYPE_OFFSET + 1 + 256] = {
80+
const char __ctype[locale_END - locale_EXTENDED_BASE][_CTYPE_OFFSET + 1 + 256] = {
8381
#ifdef _MB_EXTENDED_CHARSETS_ISO
8482
__CTYPE(ISO_8859_1),
8583
__CTYPE(ISO_8859_2),

newlib/libc/ctype/ctype_.h

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,16 @@
33
#include <wchar.h>
44
#include "locale_private.h"
55

6-
# define DEFAULT_CTYPE_PTR ((char *) _ctype_)
7-
86
#ifdef _MB_EXTENDED_CHARSETS_NON_UNICODE
97

10-
#if defined(ALLOW_NEGATIVE_CTYPE_INDEX)
11-
#define CTYPE_OFFSET 127
12-
#else
13-
#define CTYPE_OFFSET 0
14-
#endif
15-
16-
extern const char __ctype[locale_END - locale_EXTENDED_BASE][CTYPE_OFFSET + 1 + 256];
8+
extern const char __ctype[locale_END - locale_EXTENDED_BASE][_CTYPE_OFFSET + 1 + 256];
179

1810
static inline const char *
1911
__get_ctype(enum locale_id id)
2012
{
2113
if (id < locale_EXTENDED_BASE)
2214
return _ctype_;
23-
return __ctype[id - locale_EXTENDED_BASE] + CTYPE_OFFSET;
15+
return __ctype[id - locale_EXTENDED_BASE] + _CTYPE_OFFSET;
2416
}
2517

2618
#endif

newlib/libc/ctype/isalnum_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ isalnum_l (int c, locale_t locale)
1313
(void) locale;
1414
return isalnum(c);
1515
#else
16-
return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L|_N);
16+
return __CTYPE_PTR_L (locale)[c+1] & (_U|_L|_N);
1717
#endif
1818
}

newlib/libc/ctype/isalpha_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ isalpha_l (int c, locale_t locale)
1313
(void) locale;
1414
return isalpha(c);
1515
#else
16-
return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L);
16+
return __CTYPE_PTR_L (locale)[c+1] & (_U|_L);
1717
#endif
1818
}

newlib/libc/ctype/isblank_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ isblank_l (int c, locale_t locale)
1313
(void) locale;
1414
return isblank(c);
1515
#else
16-
return (__locale_ctype_ptr_l (locale)[c+1] & _B) || (c == '\t');
16+
return (__CTYPE_PTR_L (locale)[c+1] & _B) || (c == '\t');
1717
#endif
1818
}

newlib/libc/ctype/iscntrl_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ iscntrl_l (int c, locale_t locale)
1313
#if _PICOLIBC_CTYPE_SMALL
1414
return (0x00 <= c && c <= 0x1f) || c == 0x7f;
1515
#else
16-
return __locale_ctype_ptr_l (locale)[c+1] & _C;
16+
return __CTYPE_PTR_L (locale)[c+1] & _C;
1717
#endif
1818
}

newlib/libc/ctype/isdigit_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ isdigit_l (int c, locale_t locale)
1313
(void) locale;
1414
return isdigit(c);
1515
#else
16-
return __locale_ctype_ptr_l (locale)[c+1] & _N;
16+
return __CTYPE_PTR_L (locale)[c+1] & _N;
1717
#endif
1818
}

newlib/libc/ctype/isgraph_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ isgraph_l (int c, locale_t locale)
1414
(void) locale;
1515
return isgraph(c);
1616
#else
17-
return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N);
17+
return __CTYPE_PTR_L (locale)[c+1] & (_P|_U|_L|_N);
1818
#endif
1919
}

newlib/libc/ctype/islower_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ islower_l (int c, locale_t locale)
1313
(void) locale;
1414
return islower(c);
1515
#else
16-
return (__locale_ctype_ptr_l (locale)[c+1] & (_U|_L)) == _L;
16+
return (__CTYPE_PTR_L (locale)[c+1] & (_U|_L)) == _L;
1717
#endif
1818
}

newlib/libc/ctype/isprint_l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ isprint_l (int c, locale_t locale)
1414
(void) locale;
1515
return isprint(c);
1616
#else
17-
return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N|_B);
17+
return __CTYPE_PTR_L (locale)[c+1] & (_P|_U|_L|_N|_B);
1818
#endif
1919
}

0 commit comments

Comments
 (0)