Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / Applications / telnet_src / main.c
index 519978d..3fdbf00 100644 (file)
@@ -7,8 +7,6 @@
 #include <readline.h>\r
 #include <string.h>\r
 \r
-#define BUFSIZ 128\r
-\r
 // === PROTOTYPES ===\r
  int   main(int argc, char *argv[], char *envp[]);\r
  int   OpenTCP(const char *AddressString, short PortNumber);\r
@@ -20,9 +18,20 @@ int main(int argc, char *argv[], char *envp[])
         int    client_running = 1;\r
         int    bUseReadline = !!argv[3];       // HACK: If third argument is present, use ReadLine\r
        tReadline       *readline_info;\r
+        int    port;\r
+       \r
+       if( argc < 2 || argc > 3 ) {\r
+               fprintf(stderr, "Usage: telnet <host> [<port>]\n Port defaults to 23\n");\r
+               return 0;\r
+       }\r
+       \r
+       if(argc == 3)\r
+               port = atoi(argv[2]);\r
+       else\r
+               port = 23;\r
        \r
        // Connect to the remove server\r
-       server_fd = OpenTCP( argv[1], atoi(argv[2]) );\r
+       server_fd = OpenTCP( argv[1], port );\r
        if( server_fd == -1 ) {\r
                fprintf(stderr, "Unable to create socket\n");\r
                return -1;\r
@@ -53,8 +62,8 @@ int main(int argc, char *argv[], char *envp[])
                        // Read from server, and write to stdout\r
                        do\r
                        {\r
-                               len = read(server_fd, BUFSIZ, buffer);\r
-                               write(1, len, buffer);\r
+                               len = read(server_fd, buffer, BUFSIZ);\r
+                               write(1, buffer, len);\r
                        } while( len == BUFSIZ );\r
                }\r
                \r
@@ -67,17 +76,17 @@ int main(int argc, char *argv[], char *envp[])
                                char    *line = Readline_NonBlock(readline_info);\r
                                if( line )\r
                                {\r
-                                       write(server_fd, strlen(line), line);\r
-                                       write(server_fd, 1, "\n");\r
+                                       write(server_fd, line, strlen(line));\r
+                                       write(server_fd, "\n", 1);\r
                                }\r
                        }\r
                        else\r
                        {\r
                                do\r
                                {\r
-                                       len = read(0, BUFSIZ, buffer);\r
-                                       write(server_fd, len, buffer);\r
-                                       write(1, len, buffer);\r
+                                       len = read(0, buffer, BUFSIZ);\r
+                                       write(server_fd, buffer, len);\r
+                                       write(1, buffer, len);\r
                                } while( len == BUFSIZ );\r
                        }\r
                }\r
@@ -100,7 +109,6 @@ int main(int argc, char *argv[], char *envp[])
 int OpenTCP(const char *AddressString, short PortNumber)\r
 {\r
         int    fd, addrType;\r
-       char    *iface;\r
        uint8_t addrBuffer[16];\r
        \r
        // Parse IP Address\r

UCC git Repository :: git.ucc.asn.au