fixes for openbsd
diff --git a/src/cmd/9term/OpenBSD.c b/src/cmd/9term/OpenBSD.c
index ec8c5ef..a9bf6f9 100644
--- a/src/cmd/9term/OpenBSD.c
+++ b/src/cmd/9term/OpenBSD.c
@@ -1,59 +1,15 @@
-#include <u.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <termios.h>
-#include <sys/termios.h>
-#include <util.h>
-#include <libc.h>
-#include "term.h"
+#define getpts not_using_this_getpts
+#include "bsdpty.c"
+#undef getpts
 
 int
 getpts(int fd[], char *slave)
 {
-	return openpty(&fd[1], &fd[0], slave, 0, 0);
-}
-
-int
-childpty(int fd[], char *slave)
-{
-	int sfd;
-
-	close(fd[1]);
-	setsid();
-	sfd = open(slave, ORDWR);
-	if(sfd < 0)
-		sysfatal("open %s: %r\n", slave);
-	if(ioctl(sfd, TIOCSCTTY, 0) < 0)
-		fprint(2, "ioctl TIOCSCTTY: %r\n");
-	return sfd;
-}
-
-struct winsize ows;
-
-void
-updatewinsize(int row, int col, int dx, int dy)
-{
-	struct winsize ws;
-
-	ws.ws_row = row;
-	ws.ws_col = col;
-	ws.ws_xpixel = dx;
-	ws.ws_ypixel = dy;
-	if(ws.ws_row != ows.ws_row || ws.ws_col != ows.ws_col)
-	if(ioctl(rcfd[0], TIOCSWINSZ, &ws) < 0)
-		fprint(2, "ioctl: %r\n");
-	ows = ws;
-}
-
-int
-israw(int fd)
-{
+	if(openpty(&fd[1], &fd[0], NULL, NULL, NULL) >= 0){
+		fchmod(fd[1], 0620);
+		strcpy(slave, ttyname(fd[0]));
+		return 0;
+	}
+	sysfatal("no ptys");
 	return 0;
 }
-
-int
-setecho(int fd, int on)
-{
-	return 0;
-}
-
diff --git a/src/cmd/9term/rcstart.c b/src/cmd/9term/rcstart.c
index edf161c..1aa46dc 100644
--- a/src/cmd/9term/rcstart.c
+++ b/src/cmd/9term/rcstart.c
@@ -24,7 +24,6 @@
 		_exit(2);
 	default:
 		waitpid();
-fprint(2, "done waiting\n");
 	}
 }