Annotation of 43BSD/usr.lib/libcurses/initscr.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1980 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  */
        !             6: 
        !             7: #ifndef lint
        !             8: static char sccsid[] = "@(#)initscr.c  5.1 (Berkeley) 6/7/85";
        !             9: #endif not lint
        !            10: 
        !            11: # include      "curses.ext"
        !            12: # include      <signal.h>
        !            13: 
        !            14: extern char    *getenv();
        !            15: 
        !            16: /*
        !            17:  *     This routine initializes the current and standard screen.
        !            18:  *
        !            19:  */
        !            20: WINDOW *
        !            21: initscr() {
        !            22: 
        !            23:        reg char        *sp;
        !            24:        int             tstp();
        !            25:        int             nfd;
        !            26: 
        !            27: # ifdef DEBUG
        !            28:        fprintf(outf, "INITSCR()\n");
        !            29: # endif
        !            30:        if (My_term)
        !            31:                setterm(Def_term);
        !            32:        else {
        !            33:                for (_tty_ch = 0; _tty_ch < nfd; _tty_ch++)
        !            34:                        if (isatty(_tty_ch))
        !            35:                                break;
        !            36:                gettmode();
        !            37:                if ((sp = getenv("TERM")) == NULL)
        !            38:                        sp = Def_term;
        !            39:                setterm(sp);
        !            40: # ifdef DEBUG
        !            41:                fprintf(outf, "INITSCR: term = %s\n", sp);
        !            42: # endif
        !            43:        }
        !            44:        _puts(TI);
        !            45:        _puts(VS);
        !            46: # ifdef SIGTSTP
        !            47:        signal(SIGTSTP, tstp);
        !            48: # endif
        !            49:        if (curscr != NULL) {
        !            50: # ifdef DEBUG
        !            51:                fprintf(outf, "INITSCR: curscr = 0%o\n", curscr);
        !            52: # endif
        !            53:                delwin(curscr);
        !            54:        }
        !            55: # ifdef DEBUG
        !            56:        fprintf(outf, "LINES = %d, COLS = %d\n", LINES, COLS);
        !            57: # endif
        !            58:        if ((curscr = newwin(LINES, COLS, 0, 0)) == ERR)
        !            59:                return ERR;
        !            60:        clearok(curscr, TRUE);
        !            61:        curscr->_flags &= ~_FULLLINE;
        !            62:        if (stdscr != NULL) {
        !            63: # ifdef DEBUG
        !            64:                fprintf(outf, "INITSCR: stdscr = 0%o\n", stdscr);
        !            65: # endif
        !            66:                delwin(stdscr);
        !            67:        }
        !            68:        stdscr = newwin(LINES, COLS, 0, 0);
        !            69:        return stdscr;
        !            70: }

unix.superglobalmegacorp.com

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