From 296f340c65d52c35255990dfd56c7d43c7d6a0c3 Mon Sep 17 00:00:00 2001 From: bbraun Date: Tue, 5 Feb 2002 06:21:34 +0000 Subject: Makes __istype() an inline (and a non inlined) function to avoid C++ compile issues. std::isspace(' ') was expanding to std::(!!_maskrune...) which would cause a C++ compile error. Making __istype() an inline causes the expansion to be std::__istype() instead, which is valid. Reviewed by: jkh --- include/_ctype.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'include/_ctype.h') diff --git a/include/_ctype.h b/include/_ctype.h index 1f266fe..31df497 100644 --- a/include/_ctype.h +++ b/include/_ctype.h @@ -95,8 +95,6 @@ int toascii __P((int)); #endif __END_DECLS -#define __istype(c,f) (!!__maskrune((c),(f))) - #define isalnum(c) __istype((c), _CTYPE_A|_CTYPE_D) #define isalpha(c) __istype((c), _CTYPE_A) #define iscntrl(c) __istype((c), _CTYPE_C) @@ -154,6 +152,12 @@ __maskrune(_BSD_CT_RUNE_T_ _c, unsigned long _f) } static __inline int +__istype(_BSD_CT_RUNE_T_ _c, unsigned long _f) +{ + return (!!__maskrune(_c, _f)); +} + +static __inline int __isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f) { return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : @@ -178,6 +182,7 @@ __tolower(_BSD_CT_RUNE_T_ _c) __BEGIN_DECLS int __maskrune __P((_BSD_CT_RUNE_T_, unsigned long)); +int __istype __P((_BSD_CT_RUNE_T_, unsigned long)); int __isctype __P((_BSD_CT_RUNE_T_, unsigned long)); _BSD_CT_RUNE_T_ __toupper __P((_BSD_CT_RUNE_T_)); _BSD_CT_RUNE_T_ __tolower __P((_BSD_CT_RUNE_T_)); -- cgit v1.1