forked from Lainports/freebsd-ports
42 lines
1.2 KiB
Text
42 lines
1.2 KiB
Text
--- lefty/os/unix/io.c.orig Tue Apr 18 05:56:10 2000
|
|
+++ lefty/os/unix/io.c Tue Oct 17 18:40:25 2000
|
|
@@ -10,7 +10,11 @@
|
|
#include <fcntl.h>
|
|
#include <signal.h>
|
|
#include <sys/wait.h>
|
|
+#ifndef HAVE_TERMIOS
|
|
#include <termio.h>
|
|
+#else
|
|
+#include <termios.h>
|
|
+#endif
|
|
#include <sys/time.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
@@ -271,7 +275,11 @@
|
|
static int findpty (int *fd) {
|
|
char *majorp, *minorp;
|
|
char pty[32], tty[32];
|
|
+#ifndef HAVE_TERMIOS
|
|
struct termio tio;
|
|
+#else
|
|
+ struct termios tio;
|
|
+#endif
|
|
|
|
static char ptymajor[] = "pqrs";
|
|
static char ptyminor[] = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
@@ -282,9 +290,15 @@
|
|
if ((fd[0] = open (pty, O_RDWR)) >= 0) {
|
|
sprintf (tty, "/dev/tty%c%c", *majorp, *minorp);
|
|
if ((fd[1] = open (tty, O_RDWR)) >= 0) {
|
|
+#ifndef HAVE_TERMIOS
|
|
ioctl (fd[1], TCGETA, &tio);
|
|
tio.c_lflag &= ~ECHO;
|
|
ioctl (fd[1], TCSETA, &tio);
|
|
+#else
|
|
+ tcgetattr(fd[1], &tio);
|
|
+ tio.c_lflag &= ~ECHO;
|
|
+ tcsetattr(fd[1], TCSANOW, &tio);
|
|
+#endif
|
|
return 0;
|
|
}
|
|
close (fd[0]);
|