From 4223a4b92a1dbbb29fb615105889e8de8417a836 Mon Sep 17 00:00:00 2001 From: Nebojsa Sabovic Date: Thu, 24 Oct 2024 16:13:31 +0200 Subject: [PATCH] Support odd parity. --- src/ttynvt.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ttynvt.c b/src/ttynvt.c index fed9305..f5569a6 100644 --- a/src/ttynvt.c +++ b/src/ttynvt.c @@ -691,10 +691,12 @@ static unsigned int _tio_parity(const struct termios2 *tio) { unsigned int par; - if ((tio->c_cflag & PARENB) && (tio->c_iflag & IGNPAR)) + if (!(tio->c_cflag & PARENB)) + { par = 1; + } #ifdef CMSPAR - else if ((tio->c_cflag & PARENB) && (tio->c_iflag & CMSPAR)) + else if (tio->c_iflag & CMSPAR) { if (tio->c_cflag & PARODD) par = 4; @@ -702,10 +704,14 @@ static unsigned int _tio_parity(const struct termios2 *tio) par = 5; } #endif - else if (tio->c_cflag & PARENB) - par = 3; + else if (tio->c_cflag & PARODD) + { + par = 2; + } else - par = 1; + { + par = 3; + } return par; }