Annotation of researchv10no/ncurses/screen/termcap.form, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.