diff options
author | tjr <tjr@FreeBSD.org> | 2004-08-12 09:33:47 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-08-12 09:33:47 +0000 |
commit | 3be0e9534f1f0da3bbe47f83c7ae9c1cf4ad10d0 (patch) | |
tree | f7f8ec32cf23745bddb29882d0117942b0d1a3c8 /include/ctype.h | |
parent | 34ff85a68b0d1828aaafc4dd3a885b88c1ebef54 (diff) | |
download | FreeBSD-src-3be0e9534f1f0da3bbe47f83c7ae9c1cf4ad10d0.zip FreeBSD-src-3be0e9534f1f0da3bbe47f83c7ae9c1cf4ad10d0.tar.gz |
Move some internal macros and inlines from ctype.h to a new file, _ctype.h,
which has been repo-copied from ctype.h. This will allow us to remove
namespace pollution from <wctype.h> and to make wcwidth() an inline function
without introducing more pollution.
Diffstat (limited to 'include/ctype.h')
-rw-r--r-- | include/ctype.h | 90 |
1 files changed, 1 insertions, 89 deletions
diff --git a/include/ctype.h b/include/ctype.h index 194959e..0825ff6 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -47,25 +47,7 @@ #include <sys/cdefs.h> #include <sys/_types.h> - -#define _CTYPE_A 0x00000100L /* Alpha */ -#define _CTYPE_C 0x00000200L /* Control */ -#define _CTYPE_D 0x00000400L /* Digit */ -#define _CTYPE_G 0x00000800L /* Graph */ -#define _CTYPE_L 0x00001000L /* Lower */ -#define _CTYPE_P 0x00002000L /* Punct */ -#define _CTYPE_S 0x00004000L /* Space */ -#define _CTYPE_U 0x00008000L /* Upper */ -#define _CTYPE_X 0x00010000L /* X digit */ -#define _CTYPE_B 0x00020000L /* Blank */ -#define _CTYPE_R 0x00040000L /* Print */ -#define _CTYPE_I 0x00080000L /* Ideogram */ -#define _CTYPE_T 0x00100000L /* Special */ -#define _CTYPE_Q 0x00200000L /* Phonogram */ -#define _CTYPE_SW0 0x20000000L /* 0 width character */ -#define _CTYPE_SW1 0x40000000L /* 1 width character */ -#define _CTYPE_SW2 0x80000000L /* 2 width character */ -#define _CTYPE_SW3 0xc0000000L /* 3 width character */ +#include <_ctype.h> __BEGIN_DECLS int isalnum(int); @@ -150,74 +132,4 @@ __END_DECLS #define isspecial(c) __istype((c), _CTYPE_T) #endif -/* See comments in <sys/_types.h> about __ct_rune_t. */ -__BEGIN_DECLS -unsigned long ___runetype(__ct_rune_t); -__ct_rune_t ___tolower(__ct_rune_t); -__ct_rune_t ___toupper(__ct_rune_t); -__END_DECLS - -/* - * _EXTERNALIZE_CTYPE_INLINES_ is defined in locale/nomacros.c to tell us - * to generate code for extern versions of all our inline functions. - */ -#ifdef _EXTERNALIZE_CTYPE_INLINES_ -#define _USE_CTYPE_INLINE_ -#define static -#define __inline -#endif - -/* - * Use inline functions if we are allowed to and the compiler supports them. - */ -#if !defined(_DONT_USE_CTYPE_INLINE_) && \ - (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) - -#include <runetype.h> - -static __inline int -__maskrune(__ct_rune_t _c, unsigned long _f) -{ - return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : - _CurrentRuneLocale->__runetype[_c]) & _f; -} - -static __inline int -__istype(__ct_rune_t _c, unsigned long _f) -{ - return (!!__maskrune(_c, _f)); -} - -static __inline int -__isctype(__ct_rune_t _c, unsigned long _f) -{ - return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : - !!(_DefaultRuneLocale.__runetype[_c] & _f); -} - -static __inline __ct_rune_t -__toupper(__ct_rune_t _c) -{ - return (_c < 0 || _c >= _CACHED_RUNES) ? ___toupper(_c) : - _CurrentRuneLocale->__mapupper[_c]; -} - -static __inline __ct_rune_t -__tolower(__ct_rune_t _c) -{ - return (_c < 0 || _c >= _CACHED_RUNES) ? ___tolower(_c) : - _CurrentRuneLocale->__maplower[_c]; -} - -#else /* not using inlines */ - -__BEGIN_DECLS -int __maskrune(__ct_rune_t, unsigned long); -int __istype(__ct_rune_t, unsigned long); -int __isctype(__ct_rune_t, unsigned long); -__ct_rune_t __toupper(__ct_rune_t); -__ct_rune_t __tolower(__ct_rune_t); -__END_DECLS -#endif /* using inlines */ - #endif /* !_CTYPE_H_ */ |