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