Fix telnet size negotiation
This commit is contained in:
parent
441e61ce2d
commit
d9d0d5e3cc
@ -1,3 +1,6 @@
|
|||||||
|
1.4.1
|
||||||
|
* Fix telnet size negotiation
|
||||||
|
|
||||||
1.4
|
1.4
|
||||||
* Added better terminal size autodetection
|
* Added better terminal size autodetection
|
||||||
* Fixed rendering when requested size was larger than
|
* Fixed rendering when requested size was larger than
|
||||||
|
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
|||||||
package = nyancat
|
package = nyancat
|
||||||
version = 1.4
|
version = 1.4.1
|
||||||
tarname = $(package)
|
tarname = $(package)
|
||||||
distdir = $(tarname)-$(version)
|
distdir = $(tarname)-$(version)
|
||||||
|
|
||||||
|
@ -342,7 +342,7 @@ int main(int argc, char ** argv) {
|
|||||||
int k, ttype;
|
int k, ttype;
|
||||||
uint32_t option = 0, done = 0, sb_mode = 0, do_echo = 0;
|
uint32_t option = 0, done = 0, sb_mode = 0, do_echo = 0;
|
||||||
/* Various pieces for the telnet communication */
|
/* Various pieces for the telnet communication */
|
||||||
char sb[1024] = {0};
|
unsigned char sb[1024] = {0};
|
||||||
short sb_len = 0;
|
short sb_len = 0;
|
||||||
|
|
||||||
/* Whether or not to show the MOTD intro */
|
/* Whether or not to show the MOTD intro */
|
||||||
@ -481,7 +481,8 @@ int main(int argc, char ** argv) {
|
|||||||
/* This was a response to the NAWS command, meaning
|
/* This was a response to the NAWS command, meaning
|
||||||
* that this should be a window size */
|
* that this should be a window size */
|
||||||
alarm(2);
|
alarm(2);
|
||||||
terminal_width = sb[2];
|
terminal_width = (sb[1] << 8) | sb[2];
|
||||||
|
terminal_height = (sb[3] << 8) | sb[4];
|
||||||
done++;
|
done++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -606,7 +607,9 @@ int main(int argc, char ** argv) {
|
|||||||
signal(SIGPIPE, SIGPIPE_handler);
|
signal(SIGPIPE, SIGPIPE_handler);
|
||||||
|
|
||||||
/* Handle window changes */
|
/* Handle window changes */
|
||||||
signal(SIGWINCH, SIGWINCH_handler);
|
if (!telnet) {
|
||||||
|
signal(SIGWINCH, SIGWINCH_handler);
|
||||||
|
}
|
||||||
|
|
||||||
switch (ttype) {
|
switch (ttype) {
|
||||||
case 1:
|
case 1:
|
||||||
|
Loading…
Reference in New Issue
Block a user