X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Ftermsbr.c;h=fa33fac2a5c95db3ab2f35c304e11cb42b350614;hb=293b37f3c3eab8af5c87c9ad8ee9df89c998cf48;hp=77af4680fadf1c85143e1c615419780ff82a644a;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b;p=mmh diff --git a/uip/termsbr.c b/uip/termsbr.c index 77af468..fa33fac 100644 --- a/uip/termsbr.c +++ b/uip/termsbr.c @@ -2,28 +2,32 @@ /* * termsbr.c -- termcap support * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include -#ifdef HAVE_TERMIOS_H -# include -#else -# ifdef HAVE_TERMIO_H -# include -# else -# include -# endif -#endif +#include +/* It might be better to tie this to the termcap_curses_order in + configure.ac. It would be fine to check for ncurses/termcap.h + first on Linux, it's a symlink to termcap.h. */ #ifdef HAVE_TERMCAP_H # include +#elif defined (HAVE_NCURSES_TERMCAP_H) +# include #endif +/* is need anyway for ioctl() #ifdef GWINSZ_IN_SYS_IOCTL +*/ # include +/* #endif +*/ + #ifdef WINSIZE_IN_PTEM # include # include @@ -35,20 +39,6 @@ # define TXTSIZ BUFSIZ #endif -/* - * These variables are sometimes defined in, - * and needed by the termcap library. - */ -#ifdef HAVE_OSPEED -# ifdef MUST_DEFINE_OSPEED -extern short ospeed; -extern char PC; -# endif -#else -short ospeed; -char PC; -#endif - static long speedcode; static int initLI = 0; @@ -67,23 +57,14 @@ static char termcap[TXTSIZ]; static void read_termcap(void) { - char *bp, *cp; + char *cp; char *term; #ifndef TGETENT_ACCEPTS_NULL char termbuf[TXTSIZ]; #endif -#ifdef HAVE_TERMIOS_H struct termios tio; -#else -# ifdef HAVE_TERMIO_H - struct termio tio; -# else - struct sgttyb tio; -# endif -#endif - static int inited = 0; if (inited++) @@ -96,22 +77,14 @@ read_termcap(void) * If possible, we let tgetent allocate its own termcap buffer */ #ifdef TGETENT_ACCEPTS_NULL - if (tgetent (NULL, term) <= 0) - return + if (tgetent (NULL, term) != TGETENT_SUCCESS) + return; #else - if (tgetent (termbuf, term) <= 0) + if (tgetent (termbuf, term) != TGETENT_SUCCESS) return; #endif -#ifdef HAVE_TERMIOS_H speedcode = cfgetospeed(&tio); -#else -# ifdef HAVE_TERMIO_H - 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; -# endif -#endif HC = tgetflag ("hc"); @@ -122,8 +95,6 @@ read_termcap(void) 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); @@ -170,7 +141,7 @@ sc_length (void) static int outc (int c) { - putchar(c); + return putchar(c); }