From d47ece1202e2e0dd4cc6ec7f5f01ec04e2e8e2df Mon Sep 17 00:00:00 2001 From: Xawotihs Date: Sat, 1 Oct 2011 15:06:24 +0000 Subject: [PATCH] Fixed rules parsing on Windows --- projects/mtg/src/Rules.cpp | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/projects/mtg/src/Rules.cpp b/projects/mtg/src/Rules.cpp index 3af0bb934..72aedac26 100644 --- a/projects/mtg/src/Rules.cpp +++ b/projects/mtg/src/Rules.cpp @@ -112,32 +112,30 @@ RulesState::RulesState() void RulesState::parsePlayerState(int playerId, string s) { stringstream stream(s); + streampos pos = stream.tellg(); stream >> *(playerData[playerId].player); - while(std::getline(stream, s)) + size_t limiter = s.find("="); + if (limiter == string::npos) limiter = s.find(":"); + string areaS; + if (limiter != string::npos) { - size_t limiter = s.find("="); - if (limiter == string::npos) limiter = s.find(":"); - string areaS; - if (limiter != string::npos) - { - areaS = s.substr(0, limiter); + areaS = s.substr(0, limiter); - if (areaS.compare("auto") == 0) - { - playerData[playerId].extraRules.push_back(s.substr(limiter + 1)); - return; - } - else - { - return; // ERROR - } + if (areaS.compare("auto") == 0) + { + playerData[playerId].extraRules.push_back(s.substr(limiter + 1)); + return; } else { - //ERROR + return; // ERROR } } + else + { + //ERROR + } } void Rules::addExtraRules(GameObserver* g)