X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=3179ecef2d8993d0c063d3c1e3e565ade819e47d;hb=20c445baafd24d2e66f3157f11b7022fdbd56b75;hp=f46a92317166555f626233778ce270adee9e9dce;hpb=9c7f06f7430912dc918e7c54120555bcd56a521e;p=xboard.git diff --git a/backend.c b/backend.c index f46a923..3179ece 100644 --- a/backend.c +++ b/backend.c @@ -18007,9 +18007,9 @@ PositionToFEN (int move, char *overrideCastling, int moveCounts) /* [HGM] write true castling rights */ if( nrCastlingRights == 6 ) { int q, k=0; - if(boards[move][CASTLING][0] == BOARD_RGHT-1 && + if(boards[move][CASTLING][0] != NoRights && boards[move][CASTLING][2] != NoRights ) k = 1, *p++ = 'K'; - q = (boards[move][CASTLING][1] == BOARD_LEFT && + q = (boards[move][CASTLING][1] != NoRights && boards[move][CASTLING][2] != NoRights ); if(handW) { // for S-Chess with pieces in hand, list virgin pieces between K and Q for(i=BOARD_RGHT-1-k; i>=BOARD_LEFT+q; i--) @@ -18018,9 +18018,9 @@ PositionToFEN (int move, char *overrideCastling, int moveCounts) } if(q) *p++ = 'Q'; k = 0; - if(boards[move][CASTLING][3] == BOARD_RGHT-1 && + if(boards[move][CASTLING][3] != NoRights && boards[move][CASTLING][5] != NoRights ) k = 1, *p++ = 'k'; - q = (boards[move][CASTLING][4] == BOARD_LEFT && + q = (boards[move][CASTLING][4] != NoRights && boards[move][CASTLING][5] != NoRights ); if(handB) { for(i=BOARD_RGHT-1-k; i>=BOARD_LEFT+q; i--)