diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-07-24 22:25:27 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-07-24 22:25:27 +0200 |
commit | df34c4329307508310fb1018d62b0531c94bc6c7 (patch) | |
tree | 639662c7c2fee856e487994dc2956d993709312b | |
parent | Docs: Added the cPawn -> cPlayer API class inheritance (diff) | |
download | cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar.gz cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar.bz2 cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar.lz cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar.xz cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.tar.zst cuberite-df34c4329307508310fb1018d62b0531c94bc6c7.zip |
-rw-r--r-- | source/Root.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/Root.cpp b/source/Root.cpp index 771986003..59242c60d 100644 --- a/source/Root.cpp +++ b/source/Root.cpp @@ -72,11 +72,20 @@ void cRoot::InputThread(void * a_Params) cLogCommandOutputCallback Output; - while (!(self.m_bStop || self.m_bRestart)) + while (!(self.m_bStop || self.m_bRestart) && std::cin.good()) { std::string Command; std::getline(std::cin, Command); - self.ExecuteConsoleCommand(Command, Output); + if (!Command.empty()) + { + self.ExecuteConsoleCommand(Command, Output); + } + } + + if (!(self.m_bStop || self.m_bRestart)) + { + // We have come here because the std::cin has received an EOF and the server is still running; stop the server: + self.m_bStop = true; } } |