diff --git a/lib/libc/gen/termios.c b/lib/libc/gen/termios.c index a99d86f93036..a9490239f44c 100644 --- a/lib/libc/gen/termios.c +++ b/lib/libc/gen/termios.c @@ -163,12 +163,13 @@ cfmakeraw(t) struct termios *t; { - t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + t->c_iflag &= ~(IMAXBEL|IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); t->c_oflag &= ~OPOST; t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); t->c_cflag &= ~(CSIZE|PARENB); t->c_cflag |= CS8; - /* XXX set MIN/TIME */ + t->c_cc[VMIN] = 1; + t->c_cc[VTIME] = 0; } tcsendbreak(fd, len)