From: Marco Costalba Date: Sun, 15 Jul 2012 08:03:38 +0000 (+0100) Subject: Fix regression in move_to_san() X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=f0db6a6c0b82a586 Fix regression in move_to_san() Broken since commit 628808a11382a3ac No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/notation.cpp b/src/notation.cpp index eb3c46a0..a26db6ff 100644 --- a/src/notation.cpp +++ b/src/notation.cpp @@ -75,7 +75,7 @@ const string move_to_uci(Move m, bool chess960) { string move = square_to_string(from) + square_to_string(to); if (type_of(m) == PROMOTION) - move += PieceToChar[promotion_type(m) + 7]; // Lower case + move += PieceToChar[make_piece(BLACK, promotion_type(m))]; // Lower case return move; } @@ -117,20 +117,21 @@ const string move_to_san(Position& pos, Move m) { Square from = from_sq(m); Square to = to_sq(m); Piece pc = pos.piece_on(from); + PieceType pt = type_of(pc); if (type_of(m) == CASTLE) san = to > from ? "O-O" : "O-O-O"; else { - if (type_of(pc) != PAWN) + if (pt != PAWN) { - san = PieceToChar[pc]; + san = PieceToChar[pt]; // Upper case // Disambiguation if we have more then one piece with destination 'to' // note that for pawns is not needed because starting file is explicit. ambiguousMove = ambiguousFile = ambiguousRank = false; - attackers = (pos.attacks_from(pc, to) & pos.pieces(us)) ^ from; + attackers = (pos.attacks_from(pc, to) & pos.pieces(us, pt)) ^ from; while (attackers) {