about summary refs log tree commit diff
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