From 1cc7c9cd86c3d78e3fe5960848bcf64ba3de9d8e Mon Sep 17 00:00:00 2001 From: Cekis Date: Fri, 20 Sep 2019 09:05:51 -0700 Subject: [PATCH] Removed changes made by Seefo - see description Should have worked fine before - use a CTRL-D to send an EOF (what it was looking for), but don't change the entire mechanism simply because you didn't know or didn't want to figure it out. --- .../src/shared/ServerConsole.cpp | 46 ++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/engine/server/application/ServerConsole/src/shared/ServerConsole.cpp b/engine/server/application/ServerConsole/src/shared/ServerConsole.cpp index 51e08d60..c2cc313d 100755 --- a/engine/server/application/ServerConsole/src/shared/ServerConsole.cpp +++ b/engine/server/application/ServerConsole/src/shared/ServerConsole.cpp @@ -13,7 +13,6 @@ #include "ServerConsoleConnection.h" #include #include -#include //----------------------------------------------------------------------- @@ -54,22 +53,37 @@ void ServerConsole::run() if(!ConfigServerConsole::getServerPort()) return; - std::string input; - getline(std::cin, input); - - s_serverConnection = new ServerConsoleConnection(ConfigServerConsole::getServerAddress(), ConfigServerConsole::getServerPort()); - ConGenericMessage msg(input); - s_serverConnection->send(msg); - - while(! s_done) - { - NetworkHandler::update(); - NetworkHandler::dispatch(); - Os::sleep(1); - } + if(stdin) + { + std::string input; + char inBuf[1024] = {"\0"}; + while(! feof(stdin)) + { + if (fread(inBuf, 1024, 1, stdin)) { + input += inBuf; + memset(inBuf, 0, sizeof(inBuf)); + } + } - fprintf(stdout, "\n"); + if(input.length() > 0) + { + // connect to the server + s_serverConnection = new ServerConsoleConnection(ConfigServerConsole::getServerAddress(), ConfigServerConsole::getServerPort()); + ConGenericMessage msg(input); + s_serverConnection->send(msg); + + while(! s_done) + { + NetworkHandler::update(); + NetworkHandler::dispatch(); + Os::sleep(1); + } + } + else + { + fprintf(stderr, "Nothing to send to the server. Aborting"); + } + } } //----------------------------------------------------------------------- -