X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Ftermsbr.c;h=defc93fc6cca85851fd076e45f7a489e4c0e5a5f;hp=f2b0a53e88304e276aff24a5489e064db0e98db4;hb=5b92ee6942b9b466914f5faa5fa4c00a2ebc6d35;hpb=ced6090a330d3d83d0bce709f756aa3d7d65fea4 diff --git a/uip/termsbr.c b/uip/termsbr.c index f2b0a53..defc93f 100644 --- a/uip/termsbr.c +++ b/uip/termsbr.c @@ -57,15 +57,9 @@ char PC; static long speedcode; -static int initLI = 0; static int initCO = 0; -static int HC = 0; /* are we on a hardcopy terminal? */ -static int LI = 40; /* number of lines */ static int CO = 80; /* number of colums */ -static char *CL = NULL; /* termcap string to clear screen */ -static char *SE = NULL; /* termcap string to end standout mode */ -static char *SO = NULL; /* termcap string to begin standout mode */ static char termcap[TXTSIZ]; @@ -95,17 +89,17 @@ read_termcap(void) if (inited++) return; - if (!(term = getenv ("TERM"))) + if (!(term = getenv("TERM"))) return; /* ** If possible, we let tgetent allocate its own termcap buffer */ #ifdef TGETENT_ACCEPTS_NULL - if (tgetent (NULL, term) != TGETENT_SUCCESS) + if (tgetent(NULL, term) != TGETENT_SUCCESS) return; #else - if (tgetent (termbuf, term) != TGETENT_SUCCESS) + if (tgetent(termbuf, term) != TGETENT_SUCCESS) return; #endif @@ -121,32 +115,23 @@ read_termcap(void) # endif #endif - HC = tgetflag ("hc"); - - if (!initCO && (CO = tgetnum ("co")) <= 0) + if (!initCO && (CO = tgetnum("co")) <= 0) CO = 80; - if (!initLI && (LI = tgetnum ("li")) <= 0) - LI = 24; cp = termcap; - CL = tgetstr ("cl", &cp); - if ((bp = tgetstr ("pc", &cp))) + if ((bp = tgetstr("pc", &cp))) PC = *bp; - if (tgetnum ("sg") <= 0) { - SE = tgetstr ("se", &cp); - SO = tgetstr ("so", &cp); - } } int -sc_width (void) +sc_width(void) { #ifdef TIOCGWINSZ struct winsize win; int width; - if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK + if (ioctl(fileno(stderr), TIOCGWINSZ, &win) != NOTOK && (width = win.ws_col) > 0) { CO = width; initCO++; @@ -156,79 +141,3 @@ sc_width (void) return CO; } - - -int -sc_length (void) -{ -#ifdef TIOCGWINSZ - struct winsize win; - - if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK - && (LI = win.ws_row) > 0) - initLI++; - else -#endif /* TIOCGWINSZ */ - read_termcap(); - - return LI; -} - - -static int -outc (int c) -{ - return putchar(c); -} - - -void -clear_screen (void) -{ - read_termcap (); - - if (CL && speedcode) - tputs (CL, LI, outc); - else { - printf ("\f"); - if (speedcode) - printf ("\200"); - } - - fflush (stdout); -} - - -/* -** print in standout mode -*/ -int -SOprintf (char *fmt, ...) -{ - va_list ap; - - read_termcap (); - if (!(SO && SE)) - return NOTOK; - - tputs (SO, 1, outc); - - va_start(ap, fmt); - vprintf (fmt, ap); - va_end(ap); - - tputs (SE, 1, outc); - - return OK; -} - -/* -** Is this a hardcopy terminal? -*/ - -int -sc_hardcopy(void) -{ - read_termcap(); - return HC; -}