*** serial.c Wed Jan 13 23:33:36 1993 --- serial.c~ Wed Jan 13 23:40:14 1993 *************** *** 2628,2645 **** --- 2628,2660 ---- case PARITYSETTING_DEFAULT: break; case PARITYSETTING_NONE: + #ifdef HAVE_POSIX_TERMIOS + iset = CS8; + iclear = PARENB | PARODD | CS7; + #else iset = 0; iclear = PARENB | PARODD; + #endif fdo = TRUE; break; case PARITYSETTING_EVEN: + #ifdef HAVE_POSIX_TERMIOS + iset = PARENB | CS7; + iclear = PARODD | CS8; + #else iset = PARENB; iclear = PARODD; + #endif fdo = TRUE; break; case PARITYSETTING_ODD: + #ifdef HAVE_POSIX_TERMIOS + iset = PARENB | PARODD | CS7; + iclear = CS8; + #else iset = PARENB | PARODD; iclear = 0; + #endif fdo = TRUE; break; case PARITYSETTING_MARK: *************** *** 2653,2660 **** --- 2668,2680 ---- if ((q->snew.c_cflag & iset) != iset || (q->snew.c_cflag & iclear) != 0) { + #ifdef HAVE_POSIX_TERMIOS + q->snew.c_cflag &=~ iclear; + q->snew.c_cflag |= iset; + #else q->snew.c_cflag |= iset; q->snew.c_cflag &=~ iclear; + #endif fchanged = TRUE; } }