|
|
1.1 ! root 1: /* ctype.h 4.1 82/05/07 */ ! 2: ! 3: # ! 4: /* ! 5: * UNIX shell ! 6: * ! 7: * S. R. Bourne ! 8: * Bell Telephone Laboratories ! 9: * ! 10: */ ! 11: ! 12: ! 13: /* table 1 */ ! 14: #define T_SUB 01 ! 15: #define T_MET 02 ! 16: #define T_SPC 04 ! 17: #define T_DIP 010 ! 18: #define T_EOF 020 ! 19: #define T_EOR 040 ! 20: #define T_QOT 0100 ! 21: #define T_ESC 0200 ! 22: ! 23: /* table 2 */ ! 24: #define T_BRC 01 ! 25: #define T_DEF 02 ! 26: #define T_AST 04 ! 27: #define T_DIG 010 ! 28: #define T_FNG 020 ! 29: #define T_SHN 040 ! 30: #define T_IDC 0100 ! 31: #define T_SET 0200 ! 32: ! 33: /* for single chars */ ! 34: #define _TAB (T_SPC) ! 35: #define _SPC (T_SPC) ! 36: #define _UPC (T_IDC) ! 37: #define _LPC (T_IDC) ! 38: #define _DIG (T_DIG) ! 39: #define _EOF (T_EOF) ! 40: #define _EOR (T_EOR) ! 41: #define _BAR (T_DIP) ! 42: #define _HAT (T_MET) ! 43: #define _BRA (T_MET) ! 44: #define _KET (T_MET) ! 45: #define _SQB (T_FNG) ! 46: #define _AMP (T_DIP) ! 47: #define _SEM (T_DIP) ! 48: #define _LT (T_DIP) ! 49: #define _GT (T_DIP) ! 50: #define _LQU (T_QOT|T_ESC) ! 51: #define _BSL (T_ESC) ! 52: #define _DQU (T_QOT) ! 53: #define _DOL1 (T_SUB|T_ESC) ! 54: ! 55: #define _CBR T_BRC ! 56: #define _CKT T_DEF ! 57: #define _AST (T_AST|T_FNG) ! 58: #define _EQ (T_DEF) ! 59: #define _MIN (T_DEF|T_SHN) ! 60: #define _PCS (T_SHN) ! 61: #define _NUM (T_SHN) ! 62: #define _DOL2 (T_SHN) ! 63: #define _PLS (T_DEF|T_SET) ! 64: #define _AT (T_AST) ! 65: #define _QU (T_DEF|T_FNG|T_SHN) ! 66: ! 67: /* abbreviations for tests */ ! 68: #define _IDCH (T_IDC|T_DIG) ! 69: #define _META (T_SPC|T_DIP|T_MET|T_EOR) ! 70: ! 71: char _ctype1[]; ! 72: ! 73: /* nb these args are not call by value !!!! */ ! 74: #define space(c) (((c)"E)==0 ANDF _ctype1[c]&(T_SPC)) ! 75: #define eofmeta(c) (((c)"E)==0 ANDF _ctype1[c]&(_META|T_EOF)) ! 76: #define qotchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_QOT)) ! 77: #define eolchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_EOR|T_EOF)) ! 78: #define dipchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_DIP)) ! 79: #define subchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_SUB|T_QOT)) ! 80: #define escchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_ESC)) ! 81: ! 82: char _ctype2[]; ! 83: ! 84: #define digit(c) (((c)"E)==0 ANDF _ctype2[c]&(T_DIG)) ! 85: #define fngchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_FNG)) ! 86: #define dolchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST|T_BRC|T_DIG|T_IDC|T_SHN)) ! 87: #define defchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_DEF)) ! 88: #define setchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_SET)) ! 89: #define digchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST|T_DIG)) ! 90: #define letter(c) (((c)"E)==0 ANDF _ctype2[c]&(T_IDC)) ! 91: #define alphanum(c) (((c)"E)==0 ANDF _ctype2[c]&(_IDCH)) ! 92: #define astchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.