diff options
Diffstat (limited to 'src/cmd/cb/cbtype.h')
-rw-r--r-- | src/cmd/cb/cbtype.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/cmd/cb/cbtype.h b/src/cmd/cb/cbtype.h new file mode 100644 index 00000000..190fe2e5 --- /dev/null +++ b/src/cmd/cb/cbtype.h @@ -0,0 +1,42 @@ +#define _U 01 +#define _L 02 +#define _N 04 +#define _S 010 +#define _P 020 +#define _C 040 +#define _X 0100 +#define _O 0200 + +extern unsigned char _cbtype_[]; /* in /usr/src/libc/gen/ctype_.c */ + +#undef isop +#undef isalpha +#undef isupper +#undef islower +#undef isdigit +#undef isxdigit +#undef isspace +#undef ispunct +#undef isalnum +#undef isprint +#undef iscntrl +#undef isascii +#undef toupper +#undef tolower +#undef toascii + +#define isop(c) ((_cbtype_+1)[(uchar)(c)]&_O) +#define isalpha(c) ((_cbtype_+1)[(uchar)(c)]&(_U|_L)) +#define isupper(c) ((_cbtype_+1)[(uchar)(c)]&_U) +#define islower(c) ((_cbtype_+1)[(uchar)(c)]&_L) +#define isdigit(c) ((_cbtype_+1)[(uchar)(c)]&_N) +#define isxdigit(c) ((_cbtype_+1)[(uchar)(c)]&(_N|_X)) +#define isspace(c) ((_cbtype_+1)[(uchar)(c)]&_S) +#define ispunct(c) ((_cbtype_+1)[(uchar)(c)]&_P) +#define isalnum(c) ((_cbtype_+1)[(uchar)(c)]&(_U|_L|_N)) +#define isprint(c) ((_cbtype_+1)[(uchar)(c)]&(_P|_U|_L|_N)) +#define iscntrl(c) ((_cbtype_+1)[(uchar)(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) |