Annotation of researchv10no/ncurses/screen/termcap.form, revision 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.