1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-10 10:39:03 +02:00

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.
This commit is contained in:
Colin Leitner
2013-11-16 12:14:18 +01:00
committed by Pádraig Brady
parent 9120845375
commit 4e37fc642f
4 changed files with 20 additions and 1 deletions
+2
View File
@@ -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]
+10
View File
@@ -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
+4
View File
@@ -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\
+4 -1
View File
@@ -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