diff options
author | June McEnroe <june@causal.agency> | 2018-07-25 16:40:23 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-07-25 16:40:23 -0400 |
commit | 8a58379ece89299bd831d92706da67499eb01225 (patch) | |
tree | f93bbbc6a443b1657d8e001967003c0194c956bb | |
parent | Remove nasm from install (diff) | |
download | src-8a58379ece89299bd831d92706da67499eb01225.tar.gz src-8a58379ece89299bd831d92706da67499eb01225.zip |
Fix cfmakeraw calls
It turns out that you're supposed to call cfmakeraw with a termios initialized by tcgetattr. Using an uninitialized termios resulted in hnel on NetBSD breaking the pty and causing a silent logout.
Diffstat (limited to '')
-rw-r--r-- | bin/dtch.c | 2 | ||||
-rw-r--r-- | bin/hnel.c | 2 | ||||
-rw-r--r-- | bin/modem.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/bin/dtch.c b/bin/dtch.c index 40daa031..94ed88d7 100644 --- a/bin/dtch.c +++ b/bin/dtch.c @@ -206,7 +206,7 @@ static int atch(int argc, char *argv[]) { if (error) err(EX_IOERR, "tcgetattr"); atexit(restoreTerm); - struct termios raw; + struct termios raw = saveTerm; cfmakeraw(&raw); error = tcsetattr(STDIN_FILENO, TCSADRAIN, &raw); if (error) err(EX_IOERR, "tcsetattr"); diff --git a/bin/hnel.c b/bin/hnel.c index 121d3fae..77332809 100644 --- a/bin/hnel.c +++ b/bin/hnel.c @@ -53,7 +53,7 @@ int main(int argc, char *argv[]) { if (error) err(EX_IOERR, "tcgetattr"); atexit(restoreTerm); - struct termios raw; + struct termios raw = saveTerm; cfmakeraw(&raw); error = tcsetattr(STDERR_FILENO, TCSADRAIN, &raw); if (error) err(EX_IOERR, "tcsetattr"); diff --git a/bin/modem.c b/bin/modem.c index 4b5e8eb2..394ebb72 100644 --- a/bin/modem.c +++ b/bin/modem.c @@ -47,7 +47,7 @@ int main(int argc, char *argv[]) { if (error) err(EX_IOERR, "tcgetattr"); atexit(restoreTerm); - struct termios raw; + struct termios raw = saveTerm; cfmakeraw(&raw); error = tcsetattr(STDIN_FILENO, TCSADRAIN, &raw); if (error) err(EX_IOERR, "tcsetattr"); |