diff options
author | Denys Vlasenko | 2018-04-07 15:02:20 +0200 |
---|---|---|
committer | Denys Vlasenko | 2018-04-07 15:02:20 +0200 |
commit | 2f094ae82106e91cb210e79ddc2e5285377b549e (patch) | |
tree | c76bacf7490a92aceda4113acc98bb9da45cd864 | |
parent | e0afe0a9fd610b1972fdaa444ca39af0b0be6ec4 (diff) | |
download | busybox-2f094ae82106e91cb210e79ddc2e5285377b549e.zip busybox-2f094ae82106e91cb210e79ddc2e5285377b549e.tar.gz |
telnet: move winsize detection closer to I/O loop, delete non-functioning debug code
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | libbb/bb_askpass.c | 12 | ||||
-rw-r--r-- | networking/telnet.c | 17 |
2 files changed, 6 insertions, 23 deletions
diff --git a/libbb/bb_askpass.c b/libbb/bb_askpass.c index aae35ec..5599c82 100644 --- a/libbb/bb_askpass.c +++ b/libbb/bb_askpass.c @@ -37,15 +37,6 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt) tcgetattr(fd, &oldtio); tio = oldtio; -#if 0 - /* Switch off UPPERCASE->lowercase conversion (never used since 198x) - * and XON/XOFF (why we want to mess with this??) - */ -# ifndef IUCLC -# define IUCLC 0 -# endif - tio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY); -#endif /* Switch off echo */ tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL); tcsetattr(fd, TCSANOW, &tio); @@ -66,9 +57,8 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt) while (1) { int r = read(fd, &ret[i], 1); if ((i == 0 && r == 0) /* EOF (^D) with no password */ - || r < 0 + || r < 0 /* read is interrupted by timeout or ^C */ ) { - /* read is interrupted by timeout or ^C */ ret = NULL; break; } diff --git a/networking/telnet.c b/networking/telnet.c index 8b0df7f..15d6a08 100644 --- a/networking/telnet.c +++ b/networking/telnet.c @@ -89,12 +89,6 @@ # define TELOPT_NAWS 31 /* window size */ #endif -#ifdef DOTRACE -# define TRACE(x, y) do { if (x) printf y; } while (0) -#else -# define TRACE(x, y) -#endif - enum { DATABUFSIZE = 128, IACBUFSIZE = 128, @@ -627,10 +621,6 @@ int telnet_main(int argc UNUSED_PARAM, char **argv) INIT_G(); -#if ENABLE_FEATURE_TELNET_WIDTH - get_terminal_width_height(0, &G.win_width, &G.win_height); -#endif - #if ENABLE_FEATURE_TELNET_TTYPE G.ttype = getenv("TERM"); #endif @@ -661,6 +651,11 @@ int telnet_main(int argc UNUSED_PARAM, char **argv) setsockopt_keepalive(netfd); +#if ENABLE_FEATURE_TELNET_WIDTH + get_terminal_width_height(0, &G.win_width, &G.win_height); +//TODO: support dynamic resize? +#endif + signal(SIGINT, record_signo); ufds[0].fd = STDIN_FILENO; @@ -684,7 +679,6 @@ int telnet_main(int argc UNUSED_PARAM, char **argv) len = safe_read(STDIN_FILENO, G.buf, DATABUFSIZE); if (len <= 0) doexit(EXIT_SUCCESS); - TRACE(0, ("Read con: %d\n", len)); handle_net_output(len); } @@ -694,7 +688,6 @@ int telnet_main(int argc UNUSED_PARAM, char **argv) full_write1_str("Connection closed by foreign host\r\n"); doexit(EXIT_FAILURE); } - TRACE(0, ("Read netfd (%d): %d\n", netfd, len)); handle_net_input(len); } } /* while (1) */ |