Don't access std::cout from Position::print()
[stockfish] / src / uci.cpp
index 05c7e1d410f3ea6779db2aae98abbcd3a9bbc5ca..b80390c9e61ca12ca178682968689e21054f09d6 100644 (file)
@@ -113,9 +113,9 @@ void UCI::loop(const string& args) {
       else if (token == "go")         go(pos, is);
       else if (token == "position")   set_position(pos, is);
       else if (token == "setoption")  set_option(is);
-      else if (token == "d")          pos.print();
       else if (token == "flip")       pos.flip();
       else if (token == "bench")      benchmark(pos, is);
+      else if (token == "d")          sync_cout << pos.pretty() << sync_endl;
       else if (token == "isready")    sync_cout << "readyok" << sync_endl;
       else if (token == "eval")       sync_cout << Eval::trace(pos) << sync_endl;
       else
@@ -155,7 +155,7 @@ namespace {
     else
         return;
 
-    pos.from_fen(fen, Options["UCI_Chess960"], Threads.main_thread());
+    pos.set(fen, Options["UCI_Chess960"], Threads.main_thread());
     SetupStates = Search::StateStackPtr(new std::stack<StateInfo>());
 
     // Parse move list (if any)