telnet: move winsize detection closer to I/O loop, delete non-functioning debug code

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-04-07 15:02:20 +02:00
parent e0afe0a9fd
commit 2f094ae821
2 changed files with 6 additions and 23 deletions

View File

@ -37,15 +37,6 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt)
tcgetattr(fd, &oldtio); tcgetattr(fd, &oldtio);
tio = 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 */ /* Switch off echo */
tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL); tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL);
tcsetattr(fd, TCSANOW, &tio); tcsetattr(fd, TCSANOW, &tio);
@ -66,9 +57,8 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt)
while (1) { while (1) {
int r = read(fd, &ret[i], 1); int r = read(fd, &ret[i], 1);
if ((i == 0 && r == 0) /* EOF (^D) with no password */ 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; ret = NULL;
break; break;
} }

View File

@ -89,12 +89,6 @@
# define TELOPT_NAWS 31 /* window size */ # define TELOPT_NAWS 31 /* window size */
#endif #endif
#ifdef DOTRACE
# define TRACE(x, y) do { if (x) printf y; } while (0)
#else
# define TRACE(x, y)
#endif
enum { enum {
DATABUFSIZE = 128, DATABUFSIZE = 128,
IACBUFSIZE = 128, IACBUFSIZE = 128,
@ -627,10 +621,6 @@ int telnet_main(int argc UNUSED_PARAM, char **argv)
INIT_G(); INIT_G();
#if ENABLE_FEATURE_TELNET_WIDTH
get_terminal_width_height(0, &G.win_width, &G.win_height);
#endif
#if ENABLE_FEATURE_TELNET_TTYPE #if ENABLE_FEATURE_TELNET_TTYPE
G.ttype = getenv("TERM"); G.ttype = getenv("TERM");
#endif #endif
@ -661,6 +651,11 @@ int telnet_main(int argc UNUSED_PARAM, char **argv)
setsockopt_keepalive(netfd); 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); signal(SIGINT, record_signo);
ufds[0].fd = STDIN_FILENO; 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); len = safe_read(STDIN_FILENO, G.buf, DATABUFSIZE);
if (len <= 0) if (len <= 0)
doexit(EXIT_SUCCESS); doexit(EXIT_SUCCESS);
TRACE(0, ("Read con: %d\n", len));
handle_net_output(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"); full_write1_str("Connection closed by foreign host\r\n");
doexit(EXIT_FAILURE); doexit(EXIT_FAILURE);
} }
TRACE(0, ("Read netfd (%d): %d\n", netfd, len));
handle_net_input(len); handle_net_input(len);
} }
} /* while (1) */ } /* while (1) */