summaryrefslogtreecommitdiffstats
path: root/include/_ctype.h
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-02-08 07:43:26 +0000
committerobrien <obrien@FreeBSD.org>2000-02-08 07:43:26 +0000
commit049c6bbad03e47e3215ece2def41d171d4d7dd13 (patch)
treefc7eb2a086e24adead0c5f81e13925e143715141 /include/_ctype.h
parentbcb32823be5f02644ad81cf37952accd5b07a80f (diff)
downloadFreeBSD-src-049c6bbad03e47e3215ece2def41d171d4d7dd13.zip
FreeBSD-src-049c6bbad03e47e3215ece2def41d171d4d7dd13.tar.gz
There is a problem in that one cannot use ctype.h at the same time as parts
of the C++ stdlib. Our ctype.h uses symbols of the form _<X> to denote the various character classes. Our ctype.h also extends the usual ctype.h offering by adding the "_T" (special) class. Problem is parts of the STL also use the symbol "_T" as its parameterized type. These two uses are incompatible. Thus change the form of the symbols used in ctype to something that fixes the current problem and is less likely to cause conflicts in the future. Requested by: Tomoaki NISHIYAMA <tomoaki@biol.s.u-tokyo.ac.jp> Ok'ed by: JKH
Diffstat (limited to 'include/_ctype.h')
-rw-r--r--include/_ctype.h62
1 files changed, 31 insertions, 31 deletions
diff --git a/include/_ctype.h b/include/_ctype.h
index af15c3a..1f266fe 100644
--- a/include/_ctype.h
+++ b/include/_ctype.h
@@ -51,20 +51,20 @@
*/
#include <runetype.h>
-#define _A 0x00000100L /* Alpha */
-#define _C 0x00000200L /* Control */
-#define _D 0x00000400L /* Digit */
-#define _G 0x00000800L /* Graph */
-#define _L 0x00001000L /* Lower */
-#define _P 0x00002000L /* Punct */
-#define _S 0x00004000L /* Space */
-#define _U 0x00008000L /* Upper */
-#define _X 0x00010000L /* X digit */
-#define _B 0x00020000L /* Blank */
-#define _R 0x00040000L /* Print */
-#define _I 0x00080000L /* Ideogram */
-#define _T 0x00100000L /* Special */
-#define _Q 0x00200000L /* Phonogram */
+#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 */
__BEGIN_DECLS
int isalnum __P((int));
@@ -97,30 +97,30 @@ __END_DECLS
#define __istype(c,f) (!!__maskrune((c),(f)))
-#define isalnum(c) __istype((c), _A|_D)
-#define isalpha(c) __istype((c), _A)
-#define iscntrl(c) __istype((c), _C)
-#define isdigit(c) __isctype((c), _D) /* ANSI -- locale independent */
-#define isgraph(c) __istype((c), _G)
-#define islower(c) __istype((c), _L)
-#define isprint(c) __istype((c), _R)
-#define ispunct(c) __istype((c), _P)
-#define isspace(c) __istype((c), _S)
-#define isupper(c) __istype((c), _U)
-#define isxdigit(c) __isctype((c), _X) /* ANSI -- locale independent */
+#define isalnum(c) __istype((c), _CTYPE_A|_CTYPE_D)
+#define isalpha(c) __istype((c), _CTYPE_A)
+#define iscntrl(c) __istype((c), _CTYPE_C)
+#define isdigit(c) __isctype((c), _CTYPE_D) /* ANSI -- locale independent */
+#define isgraph(c) __istype((c), _CTYPE_G)
+#define islower(c) __istype((c), _CTYPE_L)
+#define isprint(c) __istype((c), _CTYPE_R)
+#define ispunct(c) __istype((c), _CTYPE_P)
+#define isspace(c) __istype((c), _CTYPE_S)
+#define isupper(c) __istype((c), _CTYPE_U)
+#define isxdigit(c) __isctype((c), _CTYPE_X) /* ANSI -- locale independent */
#define tolower(c) __tolower(c)
#define toupper(c) __toupper(c)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
#define digittoint(c) __maskrune((c), 0xFF)
#define isascii(c) (((c) & ~0x7F) == 0)
-#define isblank(c) __istype((c), _B)
-#define ishexnumber(c) __istype((c), _X)
-#define isideogram(c) __istype((c), _I)
-#define isnumber(c) __istype((c), _D)
-#define isphonogram(c) __istype((c), _Q)
+#define isblank(c) __istype((c), _CTYPE_B)
+#define ishexnumber(c) __istype((c), _CTYPE_X)
+#define isideogram(c) __istype((c), _CTYPE_I)
+#define isnumber(c) __istype((c), _CTYPE_D)
+#define isphonogram(c) __istype((c), _CTYPE_Q)
#define isrune(c) __istype((c), 0xFFFFFF00L)
-#define isspecial(c) __istype((c), _T)
+#define isspecial(c) __istype((c), _CTYPE_T)
#define toascii(c) ((c) & 0x7F)
#endif
OpenPOWER on IntegriCloud