Annotation of coherent/d/bin/clear.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * clear.c
        !             3:  * 3/18/91
        !             4:  * Usage: clear
        !             5:  * cc -o clear clear.c -lterm
        !             6:  * Clear the screen (stdout) using termcap.
        !             7:  */
        !             8: 
        !             9: #include <stdio.h>
        !            10: 
        !            11: #define        TCBUFLEN        1024
        !            12: #define TCAPSLEN       315
        !            13: #define        NLINES          22
        !            14: 
        !            15: extern char    *getenv();
        !            16: extern int     tgetent();
        !            17: extern char    *tgetstr();
        !            18: extern char    *tgoto();
        !            19: extern int     ttputc();
        !            20: 
        !            21: void   fatal();
        !            22: int    ttputc();
        !            23: 
        !            24: char   tcbuf[TCBUFLEN];
        !            25: char   tcapbuf[TCAPSLEN];
        !            26: 
        !            27: main()
        !            28: {
        !            29:        register char *clear, *move, *tv_stype, *p;
        !            30: 
        !            31:        p = tcapbuf;
        !            32:        if ((tv_stype=getenv("TERM")) == NULL)
        !            33:                fatal("enviroment variable TERM not defined");
        !            34:        else if (tgetent(tcbuf, tv_stype) != 1)
        !            35:                fatal("unknown terminal type \"%s\"", tv_stype);
        !            36:        else if ((clear=tgetstr("cd", &p)) == NULL
        !            37:              || (move =tgetstr("cm", &p)) == NULL)
        !            38:                fatal("incomplete termcap entry");
        !            39:        tputs(tgoto(move, 0, 0), 1, ttputc);
        !            40:        tputs(clear, 1, ttputc);
        !            41:        exit(0);
        !            42: }
        !            43: 
        !            44: /* VARARGS */
        !            45: void
        !            46: fatal(x) char *x;
        !            47: {
        !            48:        register int i;
        !            49: 
        !            50:        fprintf(stderr, "clear: %r\n", &x);
        !            51:        for (i = 1; i <= NLINES; i++)
        !            52:                putchar('\n');
        !            53:        exit(1);
        !            54: }
        !            55: 
        !            56: int
        !            57: ttputc(c) int c;
        !            58: {
        !            59:        return fputc(c, stdout);
        !            60: }
        !            61: 
        !            62: /* end of clear.c */

unix.superglobalmegacorp.com

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