From 80fd925122bc57991da0c70307aae4ae191f7b1c Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Thu, 25 Sep 1997 22:44:21 +0000 Subject: [PATCH] Oops, wrong version of digittoint fix was commited, step back to v1.8 instead just remove '!!' to make digittoint() work and re-arrange things a little --- include/_ctype.h | 14 ++++++-------- include/ctype.h | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/include/_ctype.h b/include/_ctype.h index 0c2a72647f14..95015f814ec9 100644 --- a/include/_ctype.h +++ b/include/_ctype.h @@ -88,8 +88,6 @@ int digittoint __P((int)); #endif __END_DECLS -#define __istype(c,f) (__runeflags((c)) & (f)) - #define isalnum(c) __istype((c), (_A|_D)) #define isalpha(c) __istype((c), _A) #define iscntrl(c) __istype((c), _C) @@ -108,7 +106,7 @@ __END_DECLS #define isascii(c) (((c) & ~0x7F) == 0) #define isblank(c) __istype((c), _B) #define toascii(c) ((c) & 0x7F) -#define digittoint(c) __runeflags((c)) +#define digittoint(c) __istype((c), 0xFF) /* XXX the following macros are not backed up by functions. */ #define ishexnumber(c) __istype((c), _X) @@ -142,17 +140,17 @@ __END_DECLS #if !defined(_DONT_USE_CTYPE_INLINE_) && \ (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) static __inline int -__runeflags(_BSD_CT_RUNE_T_ _c) +__istype(_BSD_CT_RUNE_T_ _c, unsigned long _f) { - return (_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : - _CurrentRuneLocale->runetype[_c]; + return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : + _CurrentRuneLocale->runetype[_c]) & _f; } static __inline int __isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f) { return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : - (_DefaultRuneLocale.runetype[_c] & _f); + (_DefaultRuneLocale.runetype[_c] & _f); } static __inline _BSD_CT_RUNE_T_ @@ -172,7 +170,7 @@ __tolower(_BSD_CT_RUNE_T_ _c) #else /* not using inlines */ __BEGIN_DECLS -int __runeflags __P((_BSD_CT_RUNE_T_)); +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_)); diff --git a/include/ctype.h b/include/ctype.h index 0c2a72647f14..95015f814ec9 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -88,8 +88,6 @@ int digittoint __P((int)); #endif __END_DECLS -#define __istype(c,f) (__runeflags((c)) & (f)) - #define isalnum(c) __istype((c), (_A|_D)) #define isalpha(c) __istype((c), _A) #define iscntrl(c) __istype((c), _C) @@ -108,7 +106,7 @@ __END_DECLS #define isascii(c) (((c) & ~0x7F) == 0) #define isblank(c) __istype((c), _B) #define toascii(c) ((c) & 0x7F) -#define digittoint(c) __runeflags((c)) +#define digittoint(c) __istype((c), 0xFF) /* XXX the following macros are not backed up by functions. */ #define ishexnumber(c) __istype((c), _X) @@ -142,17 +140,17 @@ __END_DECLS #if !defined(_DONT_USE_CTYPE_INLINE_) && \ (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) static __inline int -__runeflags(_BSD_CT_RUNE_T_ _c) +__istype(_BSD_CT_RUNE_T_ _c, unsigned long _f) { - return (_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : - _CurrentRuneLocale->runetype[_c]; + return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) : + _CurrentRuneLocale->runetype[_c]) & _f; } static __inline int __isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f) { return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : - (_DefaultRuneLocale.runetype[_c] & _f); + (_DefaultRuneLocale.runetype[_c] & _f); } static __inline _BSD_CT_RUNE_T_ @@ -172,7 +170,7 @@ __tolower(_BSD_CT_RUNE_T_ _c) #else /* not using inlines */ __BEGIN_DECLS -int __runeflags __P((_BSD_CT_RUNE_T_)); +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_));