X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FNetTest%2Fmode_cmdline.c;fp=Tools%2FNetTest%2Fmode_cmdline.c;h=05a393326ad0a2d794a407ce2bf2bf61a3ee27c2;hb=d2f1a4c62225533351551870cbe44d94a4ec4fab;hp=5a175172cc118923c4e40d9df2c807c63d2a41e4;hpb=f08ffb4a09855859328b73127ad5a62505564612;p=tpg%2Facess2.git diff --git a/Tools/NetTest/mode_cmdline.c b/Tools/NetTest/mode_cmdline.c index 5a175172..05a39332 100644 --- a/Tools/NetTest/mode_cmdline.c +++ b/Tools/NetTest/mode_cmdline.c @@ -2,26 +2,40 @@ */ #include #include +#include #include +#include "cmdline.h" // === CODE === void NetTest_Suite_Cmdline(void) { char line[BUFSIZ]; + Cmdline_Backend_StartThread(); while( fgets(line, sizeof(line)-1, stdin) ) { - const char *cmd = strtok(line, " "); + const char *const sep = " \n\r"; + const char *cmd = strtok(line, sep); if(!cmd) continue; if( strcmp(cmd, "exit") == 0 ) { return ; } - else if( strcmp(cmd, "request") == 0 ) { - //const char *addr = strtok(NULL, " "); + else if( strcmp(cmd, "tcp_echo_server") == 0 ) { + const char *port_str = strtok(NULL, sep); + char *end; + int port = strtol(port_str, &end, 0); + if(*end != '\0') { + fprintf(stderr, "ERROR: Port number '%s' not valid\n", port_str); + continue ; + } + Cmdline_Backend_StartEchoServer(port); + // TODO: Allow stopping of the server? } else { fprintf(stderr, "ERROR: Unknown command '%s'\n", cmd); } } + + // TODO: Tear down backend? }