diff --git a/lib/libc/gen/termios.c b/lib/libc/gen/termios.c index a9490239f44c..a80e5b99ceab 100644 --- a/lib/libc/gen/termios.c +++ b/lib/libc/gen/termios.c @@ -163,9 +163,10 @@ cfmakeraw(t) struct termios *t; { - t->c_iflag &= ~(IMAXBEL|IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + t->c_iflag &= ~(IMAXBEL|IXOFF|INPCK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + t->c_iflag |= (IGNBRK|IGNPAR); t->c_oflag &= ~OPOST; - t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); + t->c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|ICANON|ISIG|IEXTEN|NOFLSH|TOSTOP|PENDIN); t->c_cflag &= ~(CSIZE|PARENB); t->c_cflag |= CS8; t->c_cc[VMIN] = 1;