Fix printing of 'x' in position diagram
[xboard.git] / moves.c
diff --git a/moves.c b/moves.c
index 0b6b9b4..92c0371 100644 (file)
--- a/moves.c
+++ b/moves.c
@@ -126,7 +126,7 @@ char
 PieceToChar (ChessSquare p)
 {
     int c;
-    if((int)p < 0 || (int)p >= (int)EmptySquare) return('x'); /* [HGM] for safety */
+    if((int)p < 0 || (int)p >= (int)EmptySquare) return('?'); /* [HGM] for safety */
     c = pieceToChar[(int) p];
     if(c & 128) c = c & 63 | 64;
     return c;
@@ -256,7 +256,7 @@ LoadPieceDesc (char *s)
            if(pieceToChar[piece] != '+') { ok = FALSE; continue; } // promoted form does not exist
        }
        ASSIGN(pieceDesc[piece], p);
-       if(piece < BlackPawn && (pieceToChar[WHITE_TO_BLACK piece] == pieceToChar[piece] || promoted)) {
+       if(piece < BlackPawn && (pieceToChar[WHITE_TO_BLACK piece] == pieceToChar[piece] + 32 || promoted)) {
            ASSIGN(pieceDesc[WHITE_TO_BLACK piece], p);
        }
        pieceDefs = TRUE;