aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ctype.h25
1 files changed, 9 insertions, 16 deletions
diff --git a/include/ctype.h b/include/ctype.h
index 812424aff9..b58306dd28 100644
--- a/include/ctype.h
+++ b/include/ctype.h
@@ -1,9 +1,9 @@
#ifndef _CTYPE_H
-# include <ctype/ctype.h>
-
extern int __isctype (int __c, int __mask);
+# include <ctype/ctype.h>
+
# ifndef NOT_IN_libc
/* The optimized macros are not defined for users because they can't see
@@ -13,32 +13,25 @@ extern int __isctype (int __c, int __mask);
NL_CURRENT_INDIRECT. */
# include "../locale/localeinfo.h"
-# define __isctype(c, type) \
+# ifndef __NO_CTYPE
+# undef __isctype
+# define __isctype(c, type) \
(((uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128) \
[(int) (c)] & (uint16_t) type)
-# ifndef __NO_CTYPE
-# define isalnum(c) __isctype((c), _ISalnum)
-# define isalpha(c) __isctype((c), _ISalpha)
-# define iscntrl(c) __isctype((c), _IScntrl)
-# define isdigit(c) __isctype((c), _ISdigit)
-# define islower(c) __isctype((c), _ISlower)
-# define isgraph(c) __isctype((c), _ISgraph)
-# define isprint(c) __isctype((c), _ISprint)
-# define ispunct(c) __isctype((c), _ISpunct)
-# define isspace(c) __isctype((c), _ISspace)
-# define isupper(c) __isctype((c), _ISupper)
-# define isxdigit(c) __isctype((c), _ISxdigit)
-# define isblank(c) __isctype((c), _ISblank)
+# undef tolower
# define tolower(c) \
__tobody (c, tolower, \
(uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128, \
(c))
+# undef _tolower
# define _tolower(c) tolower (c)
+# undef toupper
# define toupper(c) \
__tobody (c, toupper, \
(uint32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128, \
(c))
+# undef _toupper
# define _toupper(c) toupper (c)
# endif /* Not __NO_CTYPE. */