Index: config.X
--- config.X.orig	2005-05-25 16:13:53 +0200
+++ config.X	2009-11-29 00:43:10 +0100
@@ -214,9 +214,6 @@
 
 #include <sys/param.h>
 #include <sys/types.h>
-#ifndef USG
-#include <sys/dir.h>
-#endif /* USG */
 
 /*
 ** Things that normally go in a Makefile.  Define these just like you
Index: ispell.c
--- ispell.c.orig	2005-05-25 16:13:53 +0200
+++ ispell.c	2009-11-29 00:43:10 +0100
@@ -511,6 +511,11 @@
 #else /* MINIMENU */
 		    (void) printf ("\t!MINIMENU\n");
 #endif /* MINIMENU */
+#ifdef NO8BIT
+		    (void) printf ("\tNO8BIT\n");
+#else /* NO8BIT */
+		    (void) printf ("\t!NO8BIT\n");
+#endif /* NO8BIT */
 		    (void) printf ("\tMINWORD = %d\n", MINWORD);
 #ifdef MSDOS
 		    (void) printf ("\tMSDOS\n");
Index: term.c
--- term.c.orig	2005-04-15 01:11:36 +0200
+++ term.c	2009-11-29 00:43:10 +0100
@@ -86,8 +86,12 @@
 #include "ispell.h"
 #include "proto.h"
 #include "msgs.h"
+#ifdef BSD4_4
+#define USG
+#endif
 #ifdef USG
-#include <termio.h>
+#include <unistd.h>
+#include <termios.h>
 #else
 #ifndef __DJGPP__
 #include <sgtty.h>
@@ -166,8 +170,8 @@
     }
 
 #ifdef USG
-static struct termio	sbuf;
-static struct termio	osbuf;
+static struct termios	sbuf;
+static struct termios	osbuf;
 #else
 static struct sgttyb	sbuf;
 static struct sgttyb	osbuf;
@@ -276,7 +280,7 @@
 	(void) fprintf (stderr, TERM_C_NO_BATCH);
 	exit (1);
 	}
-    (void) ioctl (0, TCGETA, (char *) &osbuf);
+    tcgetattr(STDIN_FILENO, &osbuf);
     termchanged = 1;
 
     sbuf = osbuf;
@@ -285,7 +289,7 @@
     sbuf.c_iflag &= ~(INLCR | IGNCR | ICRNL);
     sbuf.c_cc[VMIN] = 1;
     sbuf.c_cc[VTIME] = 1;
-    (void) ioctl (0, TCSETAW, (char *) &sbuf);
+    tcsetattr(STDIN_FILENO, TCSANOW, &sbuf);
 
     uerasechar = osbuf.c_cc[VERASE];
     ukillchar = osbuf.c_cc[VKILL];
@@ -373,7 +377,7 @@
 	if (te)
 	    tputs (te, 1, iputch);
 #ifdef USG
-	(void) ioctl (0, TCSETAW, (char *) &osbuf);
+	tcsetattr(STDIN_FILENO, TCSANOW, &osbuf);
 #else
 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
 #ifdef TIOCSLTC
@@ -394,7 +398,7 @@
 	if (te)
 	    tputs (te, 1, iputch);
 #ifdef USG
-	(void) ioctl (0, TCSETAW, (char *) &osbuf);
+	tcsetattr(STDIN_FILENO, TCSANOW, &osbuf);
 #else
 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
 #ifdef TIOCSLTC
@@ -413,7 +417,7 @@
     if (termchanged)
 	{
 #ifdef USG
-	(void) ioctl (0, TCSETAW, (char *) &sbuf);
+	tcsetattr(STDIN_FILENO, TCSANOW, &sbuf);
 #else
 	(void) ioctl (0, TIOCSETP, (char *) &sbuf);
 #ifdef TIOCSLTC
@@ -481,7 +485,7 @@
     argv[i] = NULL;
 
 #ifdef USG
-    (void) ioctl (0, TCSETAW, (char *) &osbuf);
+    tcsetattr(STDIN_FILENO, TCSANOW, &osbuf);
 #else
     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
 #ifdef TIOCSLTC
@@ -527,7 +531,7 @@
 #endif
 
 #ifdef USG
-    (void) ioctl (0, TCSETAW, (char *) &sbuf);
+    tcsetattr(STDIN_FILENO, TCSANOW, &sbuf);
 #else
     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
 #ifdef TIOCSLTC
@@ -563,7 +567,7 @@
 #endif
 
 #ifdef USG
-    (void) ioctl (0, TCSETAW, (char *) &osbuf);
+    tcsetattr(STDIN_FILENO, TCSANOW, &osbuf);
 #else
     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
 #ifdef TIOCSLTC
@@ -611,7 +615,7 @@
 #endif
 
 #ifdef USG
-    (void) ioctl (0, TCSETAW, (char *) &sbuf);
+    tcsetattr(STDIN_FILENO, TCSANOW, &sbuf);
 #else
     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
 #ifdef TIOCSLTC
