home *** CD-ROM | disk | FTP | other *** search
- #define _U 01 /* Upper case */
- #define _L 02 /* Lower case */
- #define _N 04 /* Numeral (digit) */
- #define _S 010 /* Spacing character */
- #define _P 020 /* Punctuation */
- #define _C 040 /* Control character */
- #define _B 0100 /* Blank */
- #define _X 0200 /* heXadecimal digit */
-
- extern char _ctype[];
-
- #define isalpha(c) ((_ctype + 1)[c] & (_U | _L))
- #define isupper(c) ((_ctype + 1)[c] & _U)
- #define islower(c) ((_ctype + 1)[c] & _L)
- #define isdigit(c) ((_ctype + 1)[c] & _N)
- #define isxdigit(c) ((_ctype + 1)[c] & _X)
- #define isalnum(c) ((_ctype + 1)[c] & (_U | _L | _N))
- #define isspace(c) ((_ctype + 1)[c] & _S)
- #define ispunct(c) ((_ctype + 1)[c] & _P)
- #define isprint(c) ((_ctype + 1)[c] & (_P | _U | _L | _N | _B))
- #define isgraph(c) ((_ctype + 1)[c] & (_P | _U | _L | _N))
- #define iscntrl(c) ((_ctype + 1)[c] & _C)
- #define isascii(c) (!((c) & ~0177))
- #define _toupper(c) ((c) - 'a' + 'A')
- #define _tolower(c) ((c) - 'A' + 'a')
- #define toascii(c) ((c) & 0177)
-