aboutsummaryrefslogtreecommitdiff
path: root/miscutils/conspy.c
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils/conspy.c')
-rw-r--r--miscutils/conspy.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/miscutils/conspy.c b/miscutils/conspy.c
index d9d09d482..1f0278b47 100644
--- a/miscutils/conspy.c
+++ b/miscutils/conspy.c
@@ -363,7 +363,6 @@ int conspy_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
363int conspy_main(int argc UNUSED_PARAM, char **argv) 363int conspy_main(int argc UNUSED_PARAM, char **argv)
364{ 364{
365 char tty_name[sizeof(DEV_TTY "NN")]; 365 char tty_name[sizeof(DEV_TTY "NN")];
366 struct termios termbuf;
367 unsigned opts; 366 unsigned opts;
368 unsigned ttynum; 367 unsigned ttynum;
369 int poll_timeout_ms; 368 int poll_timeout_ms;
@@ -414,16 +413,14 @@ int conspy_main(int argc UNUSED_PARAM, char **argv)
414 413
415 bb_signals(BB_FATAL_SIGS, cleanup); 414 bb_signals(BB_FATAL_SIGS, cleanup);
416 415
417 // All characters must be passed through to us unaltered
418 G.kbd_fd = xopen(CURRENT_TTY, O_RDONLY); 416 G.kbd_fd = xopen(CURRENT_TTY, O_RDONLY);
419 tcgetattr(G.kbd_fd, &G.term_orig); 417
420 termbuf = G.term_orig; 418 // All characters must be passed through to us unaltered
421 termbuf.c_iflag &= ~(BRKINT|INLCR|ICRNL|IXON|IXOFF|IUCLC|IXANY|IMAXBEL); 419 set_termios_to_raw(G.kbd_fd, &G.term_orig, 0
422 //termbuf.c_oflag &= ~(OPOST); - no, we still want \n -> \r\n 420 | TERMIOS_CLEAR_ISIG // no signals on ^C ^Z etc
423 termbuf.c_lflag &= ~(ISIG|ICANON|ECHO); 421 | TERMIOS_RAW_INPUT // turn off all input conversions
424 termbuf.c_cc[VMIN] = 1; 422 );
425 termbuf.c_cc[VTIME] = 0; 423 //Note: termios.c_oflag &= ~(OPOST); - no, we still want \n -> \r\n
426 tcsetattr(G.kbd_fd, TCSANOW, &termbuf);
427 424
428 poll_timeout_ms = 250; 425 poll_timeout_ms = 250;
429 while (1) { 426 while (1) {