summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlli Savia <ops@iki.fi>2016-11-20 19:52:10 +0200
committerOlli Savia <ops@iki.fi>2016-11-20 19:52:10 +0200
commit4cf7530913730ecbfafa5aa7bfa426216b14503f (patch)
tree84669d52b0776e1eb4275333f32f947f8790cdd6
parent641df06c62a34e26c62b593d042ab0a5e29d11e7 (diff)
downloadATCD-4cf7530913730ecbfafa5aa7bfa426216b14503f.tar.gz
Fixed parity settings
-rw-r--r--ACE/ace/TTY_IO.cpp13
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;