X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;fp=src%2Fposition.cpp;h=0ac450570b91b28ac468373995b42033ef0f3164;hp=5efd9c42a5eb351df1c043ea0b1e25a84b28f935;hb=0aee1ec4ab3f7891c6a59d9d9e0113655300ce64;hpb=0c878adb36c1013944231083d6a7b3b53aa1ad7e diff --git a/src/position.cpp b/src/position.cpp index 5efd9c42..0ac45057 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -375,11 +375,13 @@ void Position::set_state(StateInfo* si) const { Position& Position::set(const string& code, Color c, StateInfo* si) { - assert(code.length() > 0 && code.length() < 8); assert(code[0] == 'K'); string sides[] = { code.substr(code.find('K', 1)), // Weak - code.substr(0, code.find('K', 1)) }; // Strong + code.substr(0, std::min(code.find('v'), code.find('K', 1))) }; // Strong + + assert(sides[0].length() > 0 && sides[0].length() < 8); + assert(sides[1].length() > 0 && sides[1].length() < 8); std::transform(sides[c].begin(), sides[c].end(), sides[c].begin(), tolower);