Commit 257850e7 authored by Julien D'ascenzio's avatar Julien D'ascenzio Committed by Alexandre Julliard

ntdll: Correct space/mark parity.

When CMSPAR is defined, the space and mark parity is reversed: the flag PARODD isn't set correctly. Signed-off-by: 's avatarJulien D'ascenzio <Julien.Dascenzio@paratronic.fr> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 5bfbcb73
......@@ -280,8 +280,8 @@ static NTSTATUS get_line_control(int fd, SERIAL_LINE_CONTROL* slc)
case PARENB: slc->Parity = EVENPARITY; break;
case PARENB|PARODD: slc->Parity = ODDPARITY; break;
#ifdef CMSPAR
case PARENB|CMSPAR: slc->Parity = MARKPARITY; break;
case PARENB|PARODD|CMSPAR: slc->Parity = SPACEPARITY; break;
case PARENB|PARODD|CMSPAR: slc->Parity = MARKPARITY; break;
case PARENB|CMSPAR: slc->Parity = SPACEPARITY; break;
#endif
}
switch (port.c_cflag & CSIZE)
......@@ -676,8 +676,8 @@ static NTSTATUS set_line_control(int fd, const SERIAL_LINE_CONTROL* slc)
case EVENPARITY: port.c_cflag |= PARENB; break;
#ifdef CMSPAR
/* Linux defines mark/space (stick) parity */
case MARKPARITY: port.c_cflag |= PARENB | CMSPAR; break;
case SPACEPARITY: port.c_cflag |= PARENB | PARODD | CMSPAR; break;
case MARKPARITY: port.c_cflag |= PARENB | PARODD | CMSPAR; break;
case SPACEPARITY: port.c_cflag |= PARENB | CMSPAR; break;
#else
/* try the POSIX way */
case MARKPARITY:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment