diff options
author | Olli Savia <ops@iki.fi> | 2016-11-20 19:52:10 +0200 |
---|---|---|
committer | Olli Savia <ops@iki.fi> | 2016-11-20 19:52:10 +0200 |
commit | 4cf7530913730ecbfafa5aa7bfa426216b14503f (patch) | |
tree | 84669d52b0776e1eb4275333f32f947f8790cdd6 | |
parent | 641df06c62a34e26c62b593d042ab0a5e29d11e7 (diff) | |
download | ATCD-4cf7530913730ecbfafa5aa7bfa426216b14503f.tar.gz |
Fixed parity settings
-rw-r--r-- | ACE/ace/TTY_IO.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ACE/ace/TTY_IO.cpp b/ACE/ace/TTY_IO.cpp index c9e14e966e2..53c56baddab 100644 --- a/ACE/ace/TTY_IO.cpp +++ b/ACE/ace/TTY_IO.cpp @@ -242,16 +242,24 @@ int ACE_TTY_IO::control (Control_Mode cmd, Serial_Params *arg) const { devpar.c_cflag |= PARENB; devpar.c_cflag |= PARODD; + devpar.c_iflag &= ~IGNPAR; + devpar.c_iflag |= INPCK | PARMRK; } else if (ACE_OS::strcasecmp (arg->paritymode, ACE_TTY_IO_EVEN) == 0) { devpar.c_cflag |= PARENB; devpar.c_cflag &= ~PARODD; + devpar.c_iflag &= ~IGNPAR; + devpar.c_iflag |= INPCK | PARMRK; } else if (ACE_OS::strcasecmp (arg->paritymode, ACE_TTY_IO_NONE) == 0) - devpar.c_cflag &= ~PARENB; + { + devpar.c_cflag &= ~PARENB; + } else - return -1; + { + return -1; + } } else { @@ -291,7 +299,6 @@ int ACE_TTY_IO::control (Control_Mode cmd, Serial_Params *arg) const devpar.c_cflag |= CLOCAL; #endif /* CLOCAL */ - devpar.c_iflag = IGNPAR | INPCK; if (arg->databits < 8) devpar.c_iflag |= ISTRIP; |