diff options
Diffstat (limited to 'lib/libmytinfo/termcap.c')
-rw-r--r-- | lib/libmytinfo/termcap.c | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/lib/libmytinfo/termcap.c b/lib/libmytinfo/termcap.c deleted file mode 100644 index f914c0b..0000000 --- a/lib/libmytinfo/termcap.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * termcap.c - * - * By Ross Ridge - * Public Domain - * 92/06/01 07:43:08 - * - * termcap compatibility functions - * - */ - -#include "defs.h" -#include <term.h> -#ifdef __FreeBSD__ -#include <unistd.h> -#endif - -#ifdef USE_SCCS_IDS -static const char SCCSid[] = "@(#) mytinfo termcap.c 3.3 92/06/01 public domain, By Ross Ridge"; -#endif - -extern char _mytinfo_version[]; -/* not static */ -char *_force_pick1 = _mytinfo_version; - -int -tgetent(buf, term) -char *term, *buf; { - char *s; - struct term_path *path; - int r = -1; - int fd; - - if (term == NULL) - term = getenv("TERM"); - if (term == NULL) - return 0; - - path = _buildpath( -#ifdef USE_TERMINFO - "$MYTERMINFO", 2, - "$TERMINFO", 2, -#ifdef TERMINFODIR - TERMINFODIR, 0, -#endif -#ifdef TERMINFOSRC - TERMINFOSRC, 0, -#endif -#endif -#ifdef USE_TERMCAP - "$TERMCAP", 1, -#ifdef TERMCAPFILE - TERMCAPFILE, 0, -#endif -#endif - NULL, -1); - - if (path == NULL) - return -1; - -#if 1 - { - char buf1[MAX_BUF]; - r = _fillterm(term, path, buf1); - } -#else - r = _fillterm(term, path, buf); -#endif - - _delpath(path); - - switch(r) { - case -3: - case -2: - case -1: - return -1; - case 0: - return 0; - case 1: - case 2: - case 3: - if (isatty(1)) - fd = 1; - else if (isatty(2)) - fd = 2; - else if (isatty(3)) /* V10 /dev/tty ?? */ - fd = 3; - else if (isatty(0)) - fd = 0; - else - fd = 1; - - cur_term->fd = fd; - _term_buf.fd = fd; - - if (_init_tty() == ERR) - return 0; - if ((s = getenv("LINES")) != NULL && atoi(s) > 0) - lines = atoi(s); - if ((s = getenv("COLUMNS")) != NULL && atoi(s) > 0) - columns = atoi(s); - cur_term->termcap = 1; - return 1; - default: - return -1; - } -} - -static char cap2[3]; - -int -tgetnum(cap) -char *cap; { - int ind; - - cap2[0] = cap[0]; - cap2[1] = cap[1]; - cap2[2] = '\0'; - - ind = _findnumcode(cap2); - if (ind == -1) - return -1; - return cur_term->nums[ind]; -} - -int -tgetflag(cap) -char *cap; { - int ind; - - cap2[0] = cap[0]; - cap2[1] = cap[1]; - cap2[2] = '\0'; - - ind = _findboolcode(cap2); - if (ind == -1) - return 0; - return cur_term->bools[ind]; -} - -char * -tgetstr(cap, area) -char *cap; -char **area; { - register char *sp, *dp; - int ind; - - cap2[0] = cap[0]; - cap2[1] = cap[1]; - cap2[2] = '\0'; - - ind = _findstrcode(cap2); - if (ind == -1) - return NULL; - sp = cur_term->strs[ind]; - if (area == NULL || sp == NULL) - return sp; - dp = *area; - while (*sp != '\0') - *dp++ = *sp++; - *dp++ = '\0'; - sp = *area; - *area = dp; - return sp; -} |