From 174b40c28dd6f907ca093864ecaa73136694a7c5 Mon Sep 17 00:00:00 2001 From: Tord Romstad Date: Fri, 10 Jul 2009 18:34:56 +0200 Subject: [PATCH] Strip whitespace from beginning of string sent to set_option_value(). It turned out that the input sent to set_option_value() when it is called by set_option() in uci.cpp always started with at least one whitespace. In most cases, this is not a problem, because the majority of UCI options have numeric values. It did, however, cause a problem for UCI options with non-numerical values, like options of type CHECK and COMBO. In particular, changing the value of an option of type CHECK didn't work, because the comparisons with "true" and "false" would always return false. This means that the "Ponder" and "UCI_Chess960" options haven't been working for a while. --- src/uci.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/uci.cpp b/src/uci.cpp index 0a1de312..1f1ba096 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -242,6 +242,11 @@ namespace { } if (token == "value") { + // Skip whitespace. There should be a better way to do this, but + // I don't know how... + while(isspace(uip.get())); + uip.unget(); + getline(uip, token); // reads until end of line set_option_value(name, token); } else -- 2.39.2