Running following command:
position startpos moves e1e8
Makes SF to assert in debug mode in do_move() but to accept
bad input and continue in release mode where probably it is
going to crash little later.
So validate input before to feed do_move().
Suggestion by Yakovlev Vadim.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
void Position::do_setup_move(Move m) {
+ assert(move_is_ok(m));
+
StateInfo newSt;
// Update the number of full moves after black's move
void set_position(Position& pos, UCIParser& up) {
+ Move m;
string token, fen;
up >> token; // operator>>() skips any whitespace
else return;
// Parse move list (if any)
- while (up >> token)
- pos.do_setup_move(move_from_uci(pos, token));
+ while (up >> token && (m = move_from_uci(pos, token)) != MOVE_NONE)
+ pos.do_setup_move(m);
}