mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Allow to call Position::print() from MovePicker
Fix a recursion issue that gives a stack overflow. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
9f943a132a
commit
268c12bf31
1 changed files with 10 additions and 0 deletions
|
@ -52,6 +52,7 @@ Key Position::zobSideToMove;
|
||||||
Value Position::MgPieceSquareTable[16][64];
|
Value Position::MgPieceSquareTable[16][64];
|
||||||
Value Position::EgPieceSquareTable[16][64];
|
Value Position::EgPieceSquareTable[16][64];
|
||||||
|
|
||||||
|
static bool RequestPending = false;
|
||||||
|
|
||||||
////
|
////
|
||||||
//// Functions
|
//// Functions
|
||||||
|
@ -272,6 +273,13 @@ void Position::print(Move m) const {
|
||||||
|
|
||||||
static const std::string pieceLetters = " PNBRQK PNBRQK .";
|
static const std::string pieceLetters = " PNBRQK PNBRQK .";
|
||||||
|
|
||||||
|
// Check for reentrancy, as example when called from inside
|
||||||
|
// MovePicker that is used also here in move_to_san()
|
||||||
|
if (RequestPending)
|
||||||
|
return;
|
||||||
|
|
||||||
|
RequestPending = true;
|
||||||
|
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
if (m != MOVE_NONE)
|
if (m != MOVE_NONE)
|
||||||
{
|
{
|
||||||
|
@ -296,6 +304,8 @@ void Position::print(Move m) const {
|
||||||
std::cout << "+---+---+---+---+---+---+---+---+" << std::endl
|
std::cout << "+---+---+---+---+---+---+---+---+" << std::endl
|
||||||
<< "Fen is: " << to_fen() << std::endl
|
<< "Fen is: " << to_fen() << std::endl
|
||||||
<< "Key is: " << key << std::endl;
|
<< "Key is: " << key << std::endl;
|
||||||
|
|
||||||
|
RequestPending = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue