From 0300f988935df94f3faeac3e3dbddbd6e8122fe3 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Wed, 28 Dec 2011 13:36:23 +0100 Subject: [PATCH] Fix ICS castling rights Copying the castling rights together with CopyBoard seems to have broken handling of ICS rights, where ParseBoard12 prepares a board in a local variable, an copies it before parsing the rights. --- backend.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/backend.c b/backend.c index b6a27ab..2925088 100644 --- a/backend.c +++ b/backend.c @@ -4473,6 +4473,7 @@ ParseBoard12(string) if(board[BOARD_HEIGHT-1][i] == BlackRook) j = i; initialRights[4] = boards[moveNum][CASTLING][4] = (castle_bl == 0 && gameInfo.variant != VariantFischeRandom ? NoRights : j); + boards[moveNum][CASTLING][2] = boards[moveNum][CASTLING][5] = NoRights; if(gameInfo.variant == VariantKnightmate) { wKing = WhiteUnicorn; bKing = BlackUnicorn; } for(k=BOARD_LEFT; k