Module: wine Branch: master Commit: 257850e7ec6fd25b859c40ef1949c3cd19f218f3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=257850e7ec6fd25b859c40ef1...
Author: Julien D'ascenzio Julien.Dascenzio@paratronic.fr Date: Mon Feb 4 08:08:06 2019 +0000
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: Julien D'ascenzio Julien.Dascenzio@paratronic.fr Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/serial.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/serial.c b/dlls/ntdll/serial.c index 29e9faf..830137c 100644 --- a/dlls/ntdll/serial.c +++ b/dlls/ntdll/serial.c @@ -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: