|
|
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.