|
|
1.1 ! root 1: /* ! 2: * Simulation of termcap using terminfo. ! 3: */ ! 4: ! 5: #include "curses.ext" ! 6: ! 7: static char *sccsid = "@(#)termcap.form 1.1 1.8 3/6/83"; ! 8: ! 9: char *UP; ! 10: char *BC; ! 11: char PC; ! 12: short ospeed; ! 13: ! 14: int ! 15: tgetent(bp, name) ! 16: char *bp, *name; ! 17: { ! 18: int rv; ! 19: ! 20: if (setupterm(name, 1, &rv) >= 0) ! 21: /* Leave things as they were (for compatibility) */ ! 22: reset_shell_mode(); ! 23: return rv; ! 24: } ! 25: ! 26: /* Make a 2 letter code into an integer we can switch on easily */ ! 27: #define two(s1, s2) (s1 + 256*s2) ! 28: #define twostr(str) two(*str, str[1]) ! 29: ! 30: int ! 31: tgetflag(id) ! 32: char *id; ! 33: { ! 34: register int rv; ! 35: register char *p; ! 36: ! 37: switch (twostr(id)) { ! 38: BOOLS ! 39: case two('b','s'): ! 40: p = cursor_left; ! 41: rv = p && *p==8 && p[1] == 0; ! 42: break; ! 43: case two('p','t'): ! 44: p = tab; ! 45: rv = p && *p==9 && p[1] == 0; ! 46: break; ! 47: case two('n','c'): ! 48: p = carriage_return; ! 49: rv = ! (p && *p==13 && p[1] == 0); ! 50: break; ! 51: case two('n','s'): ! 52: p = scroll_forward; ! 53: rv = ! (p && *p==10 && p[1] == 0); ! 54: break; ! 55: default: rv = 0; ! 56: } ! 57: return rv; ! 58: } ! 59: ! 60: int ! 61: tgetnum(id) ! 62: char *id; ! 63: { ! 64: int rv; ! 65: ! 66: switch (twostr(id)) { ! 67: NUMS ! 68: default: rv = -1; ! 69: } ! 70: return rv; ! 71: } ! 72: ! 73: char * ! 74: tgetstr(id, area) ! 75: char *id, *area; ! 76: { ! 77: char *rv; ! 78: ! 79: switch (twostr(id)) { ! 80: STRS ! 81: default: rv = NULL; ! 82: } ! 83: return rv; ! 84: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.