projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mhmail: Removed hidden -resent and -queued switches.
[mmh]
/
uip
/
termsbr.c
diff --git
a/uip/termsbr.c
b/uip/termsbr.c
index
e7ba35a
..
fbf5f16
100644
(file)
--- a/
uip/termsbr.c
+++ b/
uip/termsbr.c
@@
-8,15
+8,7
@@
#include <h/mh.h>
#include <h/mh.h>
-#ifdef HAVE_TERMIOS_H
-# include <termios.h>
-#else
-# ifdef HAVE_TERMIO_H
-# include <termio.h>
-# else
-# include <sgtty.h>
-# endif
-#endif
+#include <termios.h>
#ifdef HAVE_TERMCAP_H
# include <termcap.h>
#ifdef HAVE_TERMCAP_H
# include <termcap.h>
@@
-41,54
+33,23
@@
# define TXTSIZ BUFSIZ
#endif
# 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 long speedcode;
-static int initLI = 0;
static int initCO = 0;
static int initCO = 0;
-static int LI = 40; /* number of lines */
static int CO = 80; /* number of colums */
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];
static void
read_termcap(void)
{
static void
read_termcap(void)
{
- char *bp, *cp;
char *term;
#ifndef TGETENT_ACCEPTS_NULL
char termbuf[TXTSIZ];
#endif
char *term;
#ifndef TGETENT_ACCEPTS_NULL
char termbuf[TXTSIZ];
#endif
-#ifdef HAVE_TERMIOS_H
struct termios tio;
struct termios tio;
-#else
-# ifdef HAVE_TERMIO_H
- struct termio tio;
-# else
- struct sgttyb tio;
-# endif
-#endif
-
static int inited = 0;
if (inited++)
static int inited = 0;
if (inited++)
@@
-108,31
+69,10
@@
read_termcap(void)
return;
#endif
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;
-# else
- speedcode = ioctl(fileno(stdout), TIOCGETP, (char *) &tio) != NOTOK ?
- tio.sg_ospeed : 0;
-# endif
-#endif
if (!initCO && (CO = tgetnum("co")) <= 0)
CO = 80;
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);
- }
}
}
@@
-153,61
+93,3
@@
sc_width(void)
return CO;
}
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;
-}
-
-
-void
-clear_screen(void)
-{
- read_termcap();
-
- if (CL && speedcode)
- tputs(CL, LI, putchar);
- 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, putchar);
-
- va_start(ap, fmt);
- vprintf(fmt, ap);
- va_end(ap);
-
- tputs(SE, 1, putchar);
-
- return OK;
-}