#define _U 01 #define _L 02 #define _N 04 #define _S 010 #define _P 020 #define _C 040 #define _X 0100 #define _B 0200 extern char _ctype_[]; #define isalpha(c) ((_ctype_+1)[(int)(c)]&(_U|_L)) #define isupper(c) ((_ctype_+1)[(int)(c)]&_U) #define islower(c) ((_ctype_+1)[(int)(c)]&_L) #define isdigit(c) ((_ctype_+1)[(int)(c)]&_N) #define isxdigit(c) ((_ctype_+1)[(int)(c)]&(_N|_X)) #define isspace(c) ((_ctype_+1)[(int)(c)]&_S) #define ispunct(c) ((_ctype_+1)[(int)(c)]&_P) #define isalnum(c) ((_ctype_+1)[(int)(c)]&(_U|_L|_N)) #define isprint(c) ((_ctype_+1)[(int)(c)]&(_P|_U|_L|_N|_B)) #define isgraph(c) ((_ctype_+1)[(int)(c)]&(_P|_U|_L|_N)) #define iscntrl(c) ((_ctype_+1)[(int)(c)]&_C) #define isascii(c) ((unsigned)(c)<=0177) #define toupper(c) ((c)-'a'+'A') #define tolower(c) ((c)-'A'+'a') #define toascii(c) ((c)&0177)