Applied patch from Gennady Feldman to use single-thread instead of forking.
[oweals/busybox.git] / telnet.c
index fff8c06b54da3e274ab9c152f630850b0bdce460..758cce8b163edc2410201127500523446ef6bb56 100644 (file)
--- a/telnet.c
+++ b/telnet.c
@@ -30,8 +30,6 @@
  *
  */
 
-
-#include "busybox.h"
 #include <termios.h>
 #include <unistd.h>
 #include <errno.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <netdb.h>
+#include "busybox.h"
 
 #if 0
-#define DOTRACE 1
+static const int DOTRACE = 1;
 #endif
 
 #ifdef DOTRACE
 #include <sys/time.h>
 #endif
 
-#define DATABUFSIZE 128
-#define IACBUFSIZE 128
+static const int DATABUFSIZE = 128;
+static const int IACBUFSIZE = 128;
 
-#define CHM_TRY 0
-#define CHM_ON 1
-#define CHM_OFF        2
+static const int CHM_TRY = 0;
+static const int CHM_ON = 1;
+static const int CHM_OFF = 2;
 
-#define UF_ECHO        0x01
-#define UF_SGA 0x02
+static const int UF_ECHO = 0x01;
+static const int UF_SGA = 0x02;
 
-#define TS_0   1
-#define TS_IAC 2
-#define TS_OPT 3
-#define TS_SUB1 4
-#define TS_SUB2        5
+enum {
+       TS_0 = 1,
+       TS_IAC = 2,
+       TS_OPT = 3,
+       TS_SUB1 = 4,
+       TS_SUB2 = 5,
+};
 
 #define WriteCS(fd, str) write(fd, str, sizeof str -1)
 
@@ -324,7 +325,7 @@ static void putiac1(byte c)
 
 /* ******************************* */
 
-char const escapecharis[] = "\r\nEscape character is ";
+static char const escapecharis[] = "\r\nEscape character is ";
 
 static void setConMode()
 {
@@ -332,7 +333,7 @@ static void setConMode()
        {
                if (G.charmode == CHM_TRY) {
                        G.charmode = CHM_ON;
-                       fprintf(stdout, "\r\nEntering character mode%s'^]'.\r\n", escapecharis);
+                       printf("\r\nEntering character mode%s'^]'.\r\n", escapecharis);
                        rawmode();
                }
        }
@@ -340,7 +341,7 @@ static void setConMode()
        {
                if (G.charmode != CHM_OFF) {
                        G.charmode = CHM_OFF;
-                       fprintf(stdout, "\r\nEntering line mode%s'^C'.\r\n", escapecharis);
+                       printf("\r\nEntering line mode%s'^C'.\r\n", escapecharis);
                        cookmode();
                }
        }
@@ -497,7 +498,7 @@ extern int telnet_main(int argc, char** argv)
 
        cfmakeraw(&G.termios_raw);
        
-       if (argc < 2)   usage(telnet_usage);
+       if (argc < 2)   show_usage();
        port = (argc > 2)? getport(argv[2]): 23;
        
        G.buf = xmalloc(DATABUFSIZE);
@@ -583,7 +584,7 @@ static int getport(char * p)
 
        if ((unsigned)(port - 1 ) > 65534)
        {
-               error_msg_and_die("%s: bad port number\n", p);
+               error_msg_and_die("%s: bad port number", p);
        }
        return port;
 }
@@ -595,7 +596,7 @@ static struct in_addr getserver(char * host)
        struct hostent * he;
        if ((he = gethostbyname(host)) == NULL)
        {
-               error_msg_and_die("%s: Unknown host\n", host);
+               error_msg_and_die("%s: Unknown host", host);
        }
        memcpy(&addr, he->h_addr, sizeof addr);