X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Ftermsbr.c;h=ce1420c4e2dab0b5b453c1e75532b3e782793c2f;hp=740d021066b2909a899f146e193708884c682c1e;hb=a485ed478abbd599d8c9aab48934e7a26733ecb1;hpb=f480c03187724e54e5391ee61b810827da319a6c diff --git a/uip/termsbr.c b/uip/termsbr.c index 740d021..ce1420c 100644 --- a/uip/termsbr.c +++ b/uip/termsbr.c @@ -1,4 +1,3 @@ - /* * termsbr.c -- termcap support * @@ -37,7 +36,7 @@ #endif #if BUFSIZ<2048 -# define TXTSIZ 2048 +# define TXTSIZ 2048 #else # define TXTSIZ BUFSIZ #endif @@ -61,10 +60,10 @@ 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 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 */ @@ -74,67 +73,67 @@ static char termcap[TXTSIZ]; static void read_termcap(void) { - char *bp, *cp; - char *term; + char *bp, *cp; + char *term; #ifndef TGETENT_ACCEPTS_NULL - char termbuf[TXTSIZ]; + char termbuf[TXTSIZ]; #endif #ifdef HAVE_TERMIOS_H - struct termios tio; + struct termios tio; #else # ifdef HAVE_TERMIO_H - struct termio tio; + struct termio tio; # else - struct sgttyb tio; + struct sgttyb tio; # endif #endif - static int inited = 0; + static int inited = 0; - if (inited++) - return; + if (inited++) + return; - if (!(term = getenv ("TERM"))) - return; + 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) - return; + if (tgetent (NULL, term) != TGETENT_SUCCESS) + return; #else - if (tgetent (termbuf, term) != TGETENT_SUCCESS) - return; + if (tgetent (termbuf, term) != TGETENT_SUCCESS) + return; #endif #ifdef HAVE_TERMIOS_H - speedcode = cfgetospeed(&tio); + speedcode = cfgetospeed(&tio); #else # ifdef HAVE_TERMIO_H - speedcode = ioctl(fileno(stdout), TCGETA, &tio) != NOTOK ? tio.c_cflag & CBAUD : 0; + speedcode = ioctl(fileno(stdout), TCGETA, &tio) != NOTOK ? tio.c_cflag & CBAUD : 0; # else - speedcode = ioctl(fileno(stdout), TIOCGETP, (char *) &tio) != NOTOK ? tio.sg_ospeed : 0; + speedcode = ioctl(fileno(stdout), TIOCGETP, (char *) &tio) != NOTOK ? tio.sg_ospeed : 0; # endif #endif - HC = tgetflag ("hc"); - - 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))) - PC = *bp; - if (tgetnum ("sg") <= 0) { - SE = tgetstr ("se", &cp); - SO = tgetstr ("so", &cp); - } + HC = tgetflag ("hc"); + + 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))) + PC = *bp; + if (tgetnum ("sg") <= 0) { + SE = tgetstr ("se", &cp); + SO = tgetstr ("so", &cp); + } } @@ -142,18 +141,18 @@ int sc_width (void) { #ifdef TIOCGWINSZ - struct winsize win; - int width; - - if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK - && (width = win.ws_col) > 0) { - CO = width; - initCO++; - } else + struct winsize win; + int width; + + if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK + && (width = win.ws_col) > 0) { + CO = width; + initCO++; + } else #endif /* TIOCGWINSZ */ - read_termcap(); + read_termcap(); - return CO; + return CO; } @@ -161,40 +160,40 @@ int sc_length (void) { #ifdef TIOCGWINSZ - struct winsize win; + struct winsize win; - if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK - && (LI = win.ws_row) > 0) - initLI++; - else + if (ioctl (fileno (stderr), TIOCGWINSZ, &win) != NOTOK + && (LI = win.ws_row) > 0) + initLI++; + else #endif /* TIOCGWINSZ */ - read_termcap(); + read_termcap(); - return LI; + return LI; } static int outc (int c) { - return putchar(c); + return putchar(c); } void clear_screen (void) { - read_termcap (); + read_termcap (); - if (CL && speedcode) - tputs (CL, LI, outc); - else { - printf ("\f"); - if (speedcode) - printf ("\200"); - } + if (CL && speedcode) + tputs (CL, LI, outc); + else { + printf ("\f"); + if (speedcode) + printf ("\200"); + } - fflush (stdout); + fflush (stdout); } @@ -204,21 +203,21 @@ clear_screen (void) int SOprintf (char *fmt, ...) { - va_list ap; + va_list ap; - read_termcap (); - if (!(SO && SE)) - return NOTOK; + read_termcap (); + if (!(SO && SE)) + return NOTOK; - tputs (SO, 1, outc); + tputs (SO, 1, outc); - va_start(ap, fmt); - vprintf (fmt, ap); - va_end(ap); + va_start(ap, fmt); + vprintf (fmt, ap); + va_end(ap); - tputs (SE, 1, outc); + tputs (SE, 1, outc); - return OK; + return OK; } /* @@ -228,7 +227,6 @@ SOprintf (char *fmt, ...) int sc_hardcopy(void) { - read_termcap(); - return HC; + read_termcap(); + return HC; } -