X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fuci.cpp;h=23b0cc27e93be1bd8d837a52de9a9e5cc6e60a8e;hp=b3a7dc63ddac5c4dfb342933b7f6b04a0453cf4a;hb=909e3adede210a124ed9ec4a2f21d73fda61c26d;hpb=87303d7ed307766b51908541512f9a209dc99032 diff --git a/src/uci.cpp b/src/uci.cpp index b3a7dc63..23b0cc27 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2009 Marco Costalba + Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,7 +54,7 @@ namespace { // The root position. This is set up when the user (or in practice, the GUI) // sends the "position" UCI command. The root position is sent to the think() // function when the program receives the "go" command. - Position RootPosition(StartPosition); + Position RootPosition; // Local functions bool handle_command(const string& command); @@ -224,7 +224,7 @@ namespace { void set_option(UCIInputParser& uip) { - string token, name; + string token, name, value; if (!(uip >> token)) // operator>>() skips any whitespace return; @@ -234,13 +234,12 @@ namespace { while (uip >> token && token != "value") name += (" " + token); - if (token == "value") + if (token == "value" && uip >> value) { - // Reads until end of line and left trim white space - getline(uip, token); - token.erase(0, token.find_first_not_of(" \n\r\t")); + while (uip >> token) + value += (" " + token); - set_option_value(name, token); + set_option_value(name, value); } else push_button(name); } @@ -299,9 +298,6 @@ namespace { } } - if (moveTime) - infinite = true; // HACK - assert(RootPosition.is_ok()); return think(RootPosition, infinite, ponder, RootPosition.side_to_move(),