/*
* 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 <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>
#endif
+/* <sys/ioctl.h> is need anyway for ioctl()
#ifdef GWINSZ_IN_SYS_IOCTL
+*/
# include <sys/ioctl.h>
+/*
#endif
+*/
+
#ifdef WINSIZE_IN_PTEM
# include <sys/stream.h>
# include <sys/ptem.h>
# define TXTSIZ BUFSIZ
#endif
+#ifdef notdef_lyndon_posix
+
+/*
+ XXX No current termcap should need this. If your compile barfs,
+ email details to lyndon@orthanc.ca. This code will vanish soon ...
+*/
/*
* These variables are sometimes defined in,
* and needed by the termcap library.
*/
-#ifdef HAVE_OSPEED
-# ifdef MUST_DEFINE_OSPEED
+# ifdef HAVE_OSPEED
+# ifdef MUST_DEFINE_OSPEED
extern short ospeed;
extern char PC;
-# endif
-#else
+# endif
+# else
short ospeed;
char PC;
-#endif
+# endif
+
+#endif notdef_lyndon_posix
static long speedcode;
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++)
* 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");
static int
outc (int c)
{
- putchar(c);
+ return putchar(c);
}