|
|
1.1 ! root 1: /* ! 2: * Simulation of termcap using terminfo. ! 3: */ ! 4: ! 5: #include "curses.ext" ! 6: ! 7: /* @(#) tgetflag.c: 1.1 10/15/83 (1.8 3/6/83) */ ! 8: ! 9: /* Make a 2 letter code into an integer we can switch on easily */ ! 10: #define two(s1, s2) (s1 + 256*s2) ! 11: #define twostr(str) two(*str, str[1]) ! 12: ! 13: int ! 14: tgetflag(id) ! 15: char *id; ! 16: { ! 17: register int rv; ! 18: register char *p; ! 19: ! 20: switch (twostr(id)) { ! 21: case two('b','w'): rv = auto_left_margin; break; ! 22: case two('a','m'): rv = auto_right_margin; break; ! 23: case two('x','b'): rv = beehive_glitch; break; ! 24: case two('x','s'): rv = ceol_standout_glitch; break; ! 25: case two('x','n'): rv = eat_newline_glitch; break; ! 26: case two('e','o'): rv = erase_overstrike; break; ! 27: case two('g','n'): rv = generic_type; break; ! 28: case two('h','c'): rv = hard_copy; break; ! 29: case two('k','m'): rv = has_meta_key; break; ! 30: case two('h','s'): rv = has_status_line; break; ! 31: case two('i','n'): rv = insert_null_glitch; break; ! 32: case two('d','a'): rv = memory_above; break; ! 33: case two('d','b'): rv = memory_below; break; ! 34: case two('m','i'): rv = move_insert_mode; break; ! 35: case two('m','s'): rv = move_standout_mode; break; ! 36: case two('o','s'): rv = over_strike; break; ! 37: case two('e','s'): rv = status_line_esc_ok; break; ! 38: case two('x','t'): rv = teleray_glitch; break; ! 39: case two('h','z'): rv = tilde_glitch; break; ! 40: case two('u','l'): rv = transparent_underline; break; ! 41: case two('x','o'): rv = xon_xoff; break; ! 42: case two('b','s'): ! 43: p = cursor_left; ! 44: rv = p && *p==8 && p[1] == 0; ! 45: break; ! 46: case two('p','t'): ! 47: p = tab; ! 48: rv = p && *p==9 && p[1] == 0; ! 49: break; ! 50: case two('n','c'): ! 51: p = carriage_return; ! 52: rv = ! (p && *p==13 && p[1] == 0); ! 53: break; ! 54: case two('n','s'): ! 55: p = scroll_forward; ! 56: rv = ! (p && *p==10 && p[1] == 0); ! 57: break; ! 58: default: rv = 0; ! 59: } ! 60: return rv; ! 61: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.