summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Src/Modules/termcap.c4
-rw-r--r--Src/Modules/terminfo.c13
-rw-r--r--Src/prototypes.h2
-rw-r--r--Src/system.h8
4 files changed, 18 insertions, 9 deletions
diff --git a/Src/Modules/termcap.c b/Src/Modules/termcap.c
index dad47aa17..db79a65a9 100644
--- a/Src/Modules/termcap.c
+++ b/Src/Modules/termcap.c
@@ -27,12 +27,16 @@
*
*/
+#define USES_TERMCAP_H 1
#include "termcap.mdh"
#include "termcap.pro"
/* echotc: output a termcap */
#ifdef HAVE_TGETENT
+# ifdef HAVE_TERMCAP_H
+# include <termcap.h>
+# endif
/**/
static int
diff --git a/Src/Modules/terminfo.c b/Src/Modules/terminfo.c
index b3c3c2876..0bd318fc6 100644
--- a/Src/Modules/terminfo.c
+++ b/Src/Modules/terminfo.c
@@ -27,6 +27,7 @@
*
*/
+#define USES_TERM_H 1
#include "terminfo.mdh"
#include "terminfo.pro"
@@ -34,9 +35,21 @@ static char terminfo_nam[] = "terminfo";
/**/
#ifdef HAVE_TIGETSTR
+
+/* The following two undefs are needed for Solaris 2.6 */
+# ifdef VINTR
+# undef VINTR
+# endif
+# ifdef offsetof
+# undef offsetof
+# endif
+
# ifdef HAVE_CURSES_H
# include <curses.h>
# endif
+# ifdef HAVE_TERM_H
+# include <term.h>
+# endif
static Param terminfo_pm;
diff --git a/Src/prototypes.h b/Src/prototypes.h
index 5b34b93b4..3dc5badf2 100644
--- a/Src/prototypes.h
+++ b/Src/prototypes.h
@@ -33,7 +33,7 @@ char *realloc _((void *, size_t));
char *calloc _((size_t, size_t));
#endif
-#if !(defined(HAVE_TERMCAP_H) || defined(HAVE_TERM_H))
+#if !(defined(USES_TERMCAP_H) || defined(USES_TERM_H))
extern int tgetent _((char *bp, char *name));
extern int tgetnum _((char *id));
extern int tgetflag _((char *id));
diff --git a/Src/system.h b/Src/system.h
index 6966f517b..1540e421f 100644
--- a/Src/system.h
+++ b/Src/system.h
@@ -310,14 +310,6 @@ struct timezone {
# endif /* HAVE_TERMIO_H */
#endif /* HAVE_TERMIOS_H */
-#ifdef HAVE_TERMCAP_H
-# include <termcap.h>
-#else
-# ifdef HAVE_TERM_H
-# include <term.h>
-# endif
-#endif
-
#if defined(GWINSZ_IN_SYS_IOCTL) || defined(CLOBBERS_TYPEAHEAD)
# include <sys/ioctl.h>
#endif