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:
parent
e0afe0a9fd
commit
2f094ae821
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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) */
|
||||||
|
Loading…
Reference in New Issue
Block a user