Julien D'ascenzio : ntdll: Correct space/mark parity.
Alexandre Julliard
julliard at winehq.org
Mon Feb 4 13:29:54 CST 2019
Module: wine
Branch: master
Commit: 257850e7ec6fd25b859c40ef1949c3cd19f218f3
URL: https://source.winehq.org/git/wine.git/?a=commit;h=257850e7ec6fd25b859c40ef1949c3cd19f218f3
Author: Julien D'ascenzio <Julien.Dascenzio at 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 at paratronic.fr>
Signed-off-by: Alexandre Julliard <julliard at 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:
More information about the wine-cvs
mailing list