I think when I originally added the fallback case, I looked at the
tcgetattr man page, saw cfmakeraw()'s settings and just inverted them.
That's obviously wrong. These settings should hopefully make a little
more sense.
*/
if (!terminal->original_term_attributes_saved || !(terminal->original_term_attributes.c_lflag & ICANON))
{
- term_attributes.c_iflag |= IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON;
+ term_attributes.c_iflag |= BRKINT | IGNPAR | ISTRIP | ICRNL | IXON;
term_attributes.c_oflag |= OPOST;
- term_attributes.c_lflag |= ECHO | ECHONL | ICANON | ISIG | IEXTEN;
+ term_attributes.c_lflag |= ECHO | ICANON | ISIG | IEXTEN;
if (tcsetattr (terminal->fd, TCSAFLUSH, &term_attributes) != 0)
return false;