diff options
author | Colin Leitner <colin.leitner@googlemail.com> | 2013-11-16 12:14:18 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2013-11-17 12:26:12 +0000 |
commit | 4e37fc642f6dfda7b7d78531420355c9ad3a824d (patch) | |
tree | f28050354c4635bd0d4a3b63997289367eca61e7 | |
parent | 91208453756bf0e86e25c2db35e481ac178f1255 (diff) | |
download | coreutils-4e37fc642f6dfda7b7d78531420355c9ad3a824d.tar.xz |
stty: add support for mark/space parity
This adds support for using a constant or "stick" parity bit.
* src/stty.c (usage): Mention the new flag.
* tests/misc/stty.sh: Adjust for the new flag.
* NEWS: Mention the improvement.
* docs/coreutils.texi (stty invocation): Mention the new flag.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | doc/coreutils.texi | 10 | ||||
-rw-r--r-- | src/stty.c | 4 | ||||
-rwxr-xr-x | tests/misc/stty.sh | 5 |
4 files changed, 20 insertions, 1 deletions
@@ -105,6 +105,8 @@ GNU coreutils NEWS -*- outline -*- split --line-bytes=SIZE, now only allocates memory as needed rather than allocating SIZE bytes at program start. + stty now supports configuring "stick" (mark/space) parity where available. + ** Build-related factor now builds on aarch64 based systems [bug introduced in coreutils-8.20] diff --git a/doc/coreutils.texi b/doc/coreutils.texi index 3ae39d18c..035f2e67c 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -13792,6 +13792,16 @@ May be negated. @cindex even parity Set odd parity (even if negated). May be negated. +@item cmspar +@opindex cmspar +@cindex constant parity +@cindex stick parity +@cindex mark parity +@cindex space parity +Use "stick" (mark/space) parity. If parodd is set, the parity bit is +always 1; if parodd is not set, the parity bit is always zero. +Non-POSIX@. May be negated. + @item cs5 @itemx cs6 @itemx cs7 diff --git a/src/stty.c b/src/stty.c index e518839d5..c95217e88 100644 --- a/src/stty.c +++ b/src/stty.c @@ -205,6 +205,9 @@ static struct mode_info const mode_info[] = { {"parenb", control, REV, PARENB, 0}, {"parodd", control, REV, PARODD, 0}, +#ifdef CMSPAR + {"cmspar", control, REV, CMSPAR, 0}, +#endif {"cs5", control, 0, CS5, CSIZE}, {"cs6", control, 0, CS6, CSIZE}, {"cs7", control, 0, CS7, CSIZE}, @@ -593,6 +596,7 @@ Control settings:\n\ [-]hupcl same as [-]hup\n\ [-]parenb generate parity bit in output and expect parity bit in input\n\ [-]parodd set odd parity (or even parity with '-')\n\ + * [-]cmspar use \"stick\" (mark/space) parity\n\ "), stdout); fputs (_("\ \n\ diff --git a/tests/misc/stty.sh b/tests/misc/stty.sh index 2f9b9a3b8..8fe759246 100755 --- a/tests/misc/stty.sh +++ b/tests/misc/stty.sh @@ -52,7 +52,10 @@ for opt in $options; do # other serial control settings give the same error. So skip them. # Also on ppc*|sparc* glibc platforms 'icanon' gives the same error. # See: http://debbugs.gnu.org/7228#14 - case $opt in parenb|parodd|cstopb|crtscts|cdtrdsr|icanon) continue;; esac + case $opt in + parenb|parodd|cmspar) continue;; + cstopb|crtscts|cdtrdsr|icanon) continue;; + esac stty $opt || fail=1 |