1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Simplify set_option()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-01-09 14:45:49 +01:00
parent 06c14d0a37
commit a8741bd59f
2 changed files with 20 additions and 30 deletions

View file

@ -142,21 +142,21 @@ namespace {
string fen, token;
if (!(up >> token) || (token != "startpos" && token != "fen"))
return;
up >> token; // operator>>() skips any whitespace
if (token == "startpos")
{
pos.from_fen(StartPositionFEN, false);
up >> token; // Consume "moves" token
}
else // fen
else if (token == "fen")
{
while (up >> token && token != "moves")
fen += token + string(" ");
fen += token + " ";
pos.from_fen(fen, Options["UCI_Chess960"].value<bool>());
}
else return;
// Parse move list (if any)
while (up >> token)
@ -172,39 +172,26 @@ namespace {
void set_option(UCIParser& up) {
string token, name, value;
string value = "true"; // UCI buttons don't have a "value" field
string token, name;
if (!(up >> token) || token != "name") // operator>>() skips any whitespace
return;
if (!(up >> name))
return;
up >> token; // Consume "name" token
up >> name; // Read option name
// Handle names with included spaces
while (up >> token && token != "value")
name += (" " + token);
name += " " + token;
if (Options.find(name) == Options.end())
{
cout << "No such option: " << name << endl;
return;
}
// Is a button ?
if (token != "value")
{
Options[name].set_value("true");
return;
}
if (!(up >> value))
return;
up >> value; // Read option value
// Handle values with included spaces
while (up >> token)
value += (" " + token);
value += " " + token;
Options[name].set_value(value);
if (Options.find(name) != Options.end())
Options[name].set_value(value);
else
cout << "No such option: " << name << endl;
}

View file

@ -163,8 +163,11 @@ void Option::set_value(const string& value) {
assert(!type.empty());
if ( (type == "check" || type == "button")
&& !(value == "true" || value == "false"))
if (value.empty())
return;
if ( (type == "check" || type == "button")
!= (value == "true" || value == "false"))
return;
if (type == "spin")