telnet: code shrink
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 12 May 2013 00:13:24 +0000 (02:13 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 12 May 2013 00:13:24 +0000 (02:13 +0200)
function                                             old     new   delta
telnet_main                                         1519    1515      -4
con_escape                                           296     285     -11

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/telnet.c

index 58a691916e37454a60b58c463c3d522c0726d3a1..a255797737ef7aaafb041525c5a141d73764bbb6 100644 (file)
@@ -125,12 +125,10 @@ static void subneg(byte c);
 
 static void iac_flush(void)
 {
-       write(netfd, G.iacbuf, G.iaclen);
+       full_write(netfd, G.iacbuf, G.iaclen);
        G.iaclen = 0;
 }
 
-#define write_str(fd, str) write(fd, str, sizeof(str) - 1)
-
 static void doexit(int ev) NORETURN;
 static void doexit(int ev)
 {
@@ -145,7 +143,7 @@ static void con_escape(void)
        if (bb_got_signal) /* came from line mode... go raw */
                rawmode();
 
-       write_str(1, "\r\nConsole escape. Commands are:\r\n\n"
+       full_write1_str("\r\nConsole escape. Commands are:\r\n\n"
                        " l     go to line mode\r\n"
                        " c     go to character mode\r\n"
                        " z     suspend telnet\r\n"
@@ -176,7 +174,7 @@ static void con_escape(void)
                doexit(EXIT_SUCCESS);
        }
 
-       write_str(1, "continuing...\r\n");
+       full_write1_str("continuing...\r\n");
 
        if (bb_got_signal)
                cookmode();
@@ -383,10 +381,11 @@ static void put_iac_naws(byte c, int x, int y)
        put_iac(SB);
        put_iac(c);
 
-       put_iac((x >> 8) & 0xff);
-       put_iac(x & 0xff);
-       put_iac((y >> 8) & 0xff);
-       put_iac(y & 0xff);
+       /* "... & 0xff" implicitly done below */
+       put_iac(x >> 8);
+       put_iac(x);
+       put_iac(y >> 8);
+       put_iac(y);
 
        put_iac(IAC);
        put_iac(SE);