diff options
author | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2011-02-21 17:20:13 +0100 |
---|---|---|
committer | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2011-02-21 17:20:13 +0100 |
commit | 28ce685f858511f7fa65c06e091e7d473dc2cc94 (patch) | |
tree | a070a95c24e87a4d361f31ae326905a93e7509bc /mactelnet.c | |
parent | 0058ac3010d79bf086ddfa0be9a44ee419bf7058 (diff) | |
download | MAC-Telnet-28ce685f858511f7fa65c06e091e7d473dc2cc94.tar.gz MAC-Telnet-28ce685f858511f7fa65c06e091e7d473dc2cc94.zip |
Add endianness checking/conversion.
Diffstat (limited to 'mactelnet.c')
-rw-r--r-- | mactelnet.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mactelnet.c b/mactelnet.c index 6f21b09..2e789cf 100644 --- a/mactelnet.c +++ b/mactelnet.c @@ -166,6 +166,11 @@ static void send_auth(char *username, char *password) { plen += add_control_packet(&data, MT_CPTYPE_TERM_TYPE, terminal, strlen(terminal)); if (get_terminal_size(&width, &height) != -1) { +#if BYTE_ORDER == BIG_ENDIAN + /* Seems like Mikrotik are sending data little_endianed? */ + width = ((width & 0xff) << 8) | ((width & 0xff00) >> 8); + height = ((height & 0xff) << 8) | ((height & 0xff00) >> 8); +#endif plen += add_control_packet(&data, MT_CPTYPE_TERM_WIDTH, &width, 2); plen += add_control_packet(&data, MT_CPTYPE_TERM_HEIGHT, &height, 2); } |