From: H.G.Muller Date: Sat, 21 Feb 2015 19:02:06 +0000 (+0100) Subject: Fix parsing of illegal drops from PGN X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=3536ccf4ea73a0157ef01ae42c72e5448543eb39;hp=b24ce05727f9719f669f300b7e7e5606aa83eed9;p=xboard.git Fix parsing of illegal drops from PGN These were parsed as if the first two characters were the from-square. --- diff --git a/backend.c b/backend.c index d637ab1..8aae7b4 100644 --- a/backend.c +++ b/backend.c @@ -12075,8 +12075,13 @@ LoadGameOneMove (ChessMove readAhead) if (appData.debugMode) fprintf(debugFP, "Parsed %s into IllegalMove %s\n", yy_text, currentMoveString); - fromX = currentMoveString[0] - AAA; - fromY = currentMoveString[1] - ONE; + if(currentMoveString[1] == '@') { + fromX = CharToPiece(WhiteOnMove(currentMove) ? ToUpper(currentMoveString[0]) : ToLower(currentMoveString[0])); + fromY = DROP_RANK; + } else { + fromX = currentMoveString[0] - AAA; + fromY = currentMoveString[1] - ONE; + } toX = currentMoveString[2] - AAA; toY = currentMoveString[3] - ONE; promoChar = currentMoveString[4];