mirror of git://git.musl-libc.org/musl
improve ctype.h macros to diagnose errors
the casts of the argument to unsigned int suppressed diagnosis of errors like passing a pointer instead of a character. putting the actual function call in an unreachable branch restores any diagnostics that would be present if the macros didn't exist and functions were used.
This commit is contained in:
parent
19bcdeeb1e
commit
2ca55a93f2
|
@ -28,12 +28,12 @@ static __inline int __isspace(int _c)
|
|||
return _c == ' ' || (unsigned)_c-'\t' < 5;
|
||||
}
|
||||
|
||||
#define isalpha(a) ((((unsigned)(a)|32)-'a') < 26)
|
||||
#define isdigit(a) (((unsigned)(a)-'0') < 10)
|
||||
#define islower(a) (((unsigned)(a)-'a') < 26)
|
||||
#define isupper(a) (((unsigned)(a)-'A') < 26)
|
||||
#define isprint(a) (((unsigned)(a)-0x20) < 0x5f)
|
||||
#define isgraph(a) (((unsigned)(a)-0x21) < 0x5e)
|
||||
#define isalpha(a) (0 ? isalpha(a) : (((unsigned)(a)|32)-'a') < 26)
|
||||
#define isdigit(a) (0 ? isdigit(a) : ((unsigned)(a)-'0') < 10)
|
||||
#define islower(a) (0 ? islower(a) : ((unsigned)(a)-'a') < 26)
|
||||
#define isupper(a) (0 ? isupper(a) : ((unsigned)(a)-'A') < 26)
|
||||
#define isprint(a) (0 ? isprint(a) : ((unsigned)(a)-0x20) < 0x5f)
|
||||
#define isgraph(a) (0 ? isgraph(a) : ((unsigned)(a)-0x21) < 0x5e)
|
||||
#define isspace(a) __isspace(a)
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue