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
This commit is contained in:
Andrey A. Chernov 1997-09-25 22:44:21 +00:00
parent 9f05e73cd2
commit 80fd925122
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=29855
2 changed files with 12 additions and 16 deletions

View File

@ -88,8 +88,6 @@ int digittoint __P((int));
#endif #endif
__END_DECLS __END_DECLS
#define __istype(c,f) (__runeflags((c)) & (f))
#define isalnum(c) __istype((c), (_A|_D)) #define isalnum(c) __istype((c), (_A|_D))
#define isalpha(c) __istype((c), _A) #define isalpha(c) __istype((c), _A)
#define iscntrl(c) __istype((c), _C) #define iscntrl(c) __istype((c), _C)
@ -108,7 +106,7 @@ __END_DECLS
#define isascii(c) (((c) & ~0x7F) == 0) #define isascii(c) (((c) & ~0x7F) == 0)
#define isblank(c) __istype((c), _B) #define isblank(c) __istype((c), _B)
#define toascii(c) ((c) & 0x7F) #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. */ /* XXX the following macros are not backed up by functions. */
#define ishexnumber(c) __istype((c), _X) #define ishexnumber(c) __istype((c), _X)
@ -142,17 +140,17 @@ __END_DECLS
#if !defined(_DONT_USE_CTYPE_INLINE_) && \ #if !defined(_DONT_USE_CTYPE_INLINE_) && \
(defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
static __inline int 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) : return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) :
_CurrentRuneLocale->runetype[_c]; _CurrentRuneLocale->runetype[_c]) & _f;
} }
static __inline int static __inline int
__isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f) __isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f)
{ {
return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : return (_c < 0 || _c >= _CACHED_RUNES) ? 0 :
(_DefaultRuneLocale.runetype[_c] & _f); (_DefaultRuneLocale.runetype[_c] & _f);
} }
static __inline _BSD_CT_RUNE_T_ static __inline _BSD_CT_RUNE_T_
@ -172,7 +170,7 @@ __tolower(_BSD_CT_RUNE_T_ _c)
#else /* not using inlines */ #else /* not using inlines */
__BEGIN_DECLS __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)); int __isctype __P((_BSD_CT_RUNE_T_, unsigned long));
_BSD_CT_RUNE_T_ __toupper __P((_BSD_CT_RUNE_T_)); _BSD_CT_RUNE_T_ __toupper __P((_BSD_CT_RUNE_T_));
_BSD_CT_RUNE_T_ __tolower __P((_BSD_CT_RUNE_T_)); _BSD_CT_RUNE_T_ __tolower __P((_BSD_CT_RUNE_T_));

View File

@ -88,8 +88,6 @@ int digittoint __P((int));
#endif #endif
__END_DECLS __END_DECLS
#define __istype(c,f) (__runeflags((c)) & (f))
#define isalnum(c) __istype((c), (_A|_D)) #define isalnum(c) __istype((c), (_A|_D))
#define isalpha(c) __istype((c), _A) #define isalpha(c) __istype((c), _A)
#define iscntrl(c) __istype((c), _C) #define iscntrl(c) __istype((c), _C)
@ -108,7 +106,7 @@ __END_DECLS
#define isascii(c) (((c) & ~0x7F) == 0) #define isascii(c) (((c) & ~0x7F) == 0)
#define isblank(c) __istype((c), _B) #define isblank(c) __istype((c), _B)
#define toascii(c) ((c) & 0x7F) #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. */ /* XXX the following macros are not backed up by functions. */
#define ishexnumber(c) __istype((c), _X) #define ishexnumber(c) __istype((c), _X)
@ -142,17 +140,17 @@ __END_DECLS
#if !defined(_DONT_USE_CTYPE_INLINE_) && \ #if !defined(_DONT_USE_CTYPE_INLINE_) && \
(defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus)) (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))
static __inline int 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) : return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) :
_CurrentRuneLocale->runetype[_c]; _CurrentRuneLocale->runetype[_c]) & _f;
} }
static __inline int static __inline int
__isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f) __isctype(_BSD_CT_RUNE_T_ _c, unsigned long _f)
{ {
return (_c < 0 || _c >= _CACHED_RUNES) ? 0 : return (_c < 0 || _c >= _CACHED_RUNES) ? 0 :
(_DefaultRuneLocale.runetype[_c] & _f); (_DefaultRuneLocale.runetype[_c] & _f);
} }
static __inline _BSD_CT_RUNE_T_ static __inline _BSD_CT_RUNE_T_
@ -172,7 +170,7 @@ __tolower(_BSD_CT_RUNE_T_ _c)
#else /* not using inlines */ #else /* not using inlines */
__BEGIN_DECLS __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)); int __isctype __P((_BSD_CT_RUNE_T_, unsigned long));
_BSD_CT_RUNE_T_ __toupper __P((_BSD_CT_RUNE_T_)); _BSD_CT_RUNE_T_ __toupper __P((_BSD_CT_RUNE_T_));
_BSD_CT_RUNE_T_ __tolower __P((_BSD_CT_RUNE_T_)); _BSD_CT_RUNE_T_ __tolower __P((_BSD_CT_RUNE_T_));