summaryrefslogtreecommitdiff
path: root/coreutils/stty.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/stty.c')
-rw-r--r--coreutils/stty.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/coreutils/stty.c b/coreutils/stty.c
index cb9b183..f29fa64 100644
--- a/coreutils/stty.c
+++ b/coreutils/stty.c
@@ -1293,17 +1293,9 @@ int stty_main(int argc, char **argv)
/* Now it is safe to start doing things */
if (file_name) {
- int fd, fdflags;
G.device_name = file_name;
- fd = xopen_nonblocking(G.device_name);
- if (fd != STDIN_FILENO) {
- dup2(fd, STDIN_FILENO);
- close(fd);
- }
- fdflags = fcntl(STDIN_FILENO, F_GETFL);
- if (fdflags < 0 ||
- fcntl(STDIN_FILENO, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
- perror_on_device_and_die("%s: cannot reset non-blocking mode");
+ xmove_fd(xopen_nonblocking(G.device_name), STDIN_FILENO);
+ ndelay_off(STDIN_FILENO);
}
/* Initialize to all zeroes so there is no risk memcmp will report a