diff options
author | Denys Vlasenko | 2016-10-12 20:42:58 +0200 |
---|---|---|
committer | Denys Vlasenko | 2016-10-12 20:42:58 +0200 |
commit | 57727d478db55b25bdc33bb9067915b659605ae6 (patch) | |
tree | 8309c16618966df2c5c3b97bf1120031146257ce /networking/telnet.c | |
parent | 26d88d6bbda628f0005115bbe0f85722db267793 (diff) | |
download | busybox-57727d478db55b25bdc33bb9067915b659605ae6.zip busybox-57727d478db55b25bdc33bb9067915b659605ae6.tar.gz |
telnet: code shrink
put_iac2(w,c) is mostly used with constants, fold them into one arg
function old new delta
put_iac2_merged - 46 +46
telnet_main 1603 1583 -20
con_escape 285 257 -28
put_iac2 50 - -50
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 46/-98) Total: -52 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/telnet.c')
-rw-r--r-- | networking/telnet.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/networking/telnet.c b/networking/telnet.c index d2daf5c..1a6986b 100644 --- a/networking/telnet.c +++ b/networking/telnet.c @@ -311,15 +311,16 @@ static void put_iac(int c) G.iacbuf[G.iaclen++] = c; } -static void put_iac2(byte wwdd, byte c) +static void put_iac2_merged(unsigned wwdd_and_c) { if (G.iaclen + 3 > IACBUFSIZE) iac_flush(); put_iac(IAC); - put_iac(wwdd); - put_iac(c); + put_iac(wwdd_and_c >> 8); + put_iac(wwdd_and_c & 0xff); } +#define put_iac2(wwdd,c) put_iac2_merged(((wwdd)<<8) + (c)) #if ENABLE_FEATURE_TELNET_TTYPE static void put_iac_subopt(byte c, char *str) |