|
|
researchv10 Norman
/*
* Simulation of termcap using terminfo.
*/
#include "curses.ext"
static char *sccsid = "@(#)termcap.form 1.1 1.8 3/6/83";
char *UP;
char *BC;
char PC;
short ospeed;
int
tgetent(bp, name)
char *bp, *name;
{
int rv;
if (setupterm(name, 1, &rv) >= 0)
/* Leave things as they were (for compatibility) */
reset_shell_mode();
return rv;
}
/* Make a 2 letter code into an integer we can switch on easily */
#define two(s1, s2) (s1 + 256*s2)
#define twostr(str) two(*str, str[1])
int
tgetflag(id)
char *id;
{
register int rv;
register char *p;
switch (twostr(id)) {
BOOLS
case two('b','s'):
p = cursor_left;
rv = p && *p==8 && p[1] == 0;
break;
case two('p','t'):
p = tab;
rv = p && *p==9 && p[1] == 0;
break;
case two('n','c'):
p = carriage_return;
rv = ! (p && *p==13 && p[1] == 0);
break;
case two('n','s'):
p = scroll_forward;
rv = ! (p && *p==10 && p[1] == 0);
break;
default: rv = 0;
}
return rv;
}
int
tgetnum(id)
char *id;
{
int rv;
switch (twostr(id)) {
NUMS
default: rv = -1;
}
return rv;
}
char *
tgetstr(id, area)
char *id, *area;
{
char *rv;
switch (twostr(id)) {
STRS
default: rv = NULL;
}
return rv;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.