From 900e2d4e1e1424076ec197cbe22e941fbf8cbf6b Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Fri, 4 Jan 2013 14:10:35 +0100 Subject: [PATCH] Teach file_to_char() about upper/lower case This allows to further simplify Position::fen() No functional change. --- src/position.cpp | 8 ++++---- src/types.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 8dab668b..a005d5df 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -358,16 +358,16 @@ const string Position::fen() const { ss << (sideToMove == WHITE ? " w " : " b "); if (can_castle(WHITE_OO)) - ss << (chess960 ? char(toupper(file_to_char(file_of(castle_rook_square(WHITE, KING_SIDE))))) : 'K'); + ss << (chess960 ? file_to_char(file_of(castle_rook_square(WHITE, KING_SIDE)), false) : 'K'); if (can_castle(WHITE_OOO)) - ss << (chess960 ? char(toupper(file_to_char(file_of(castle_rook_square(WHITE, QUEEN_SIDE))))) : 'Q'); + ss << (chess960 ? file_to_char(file_of(castle_rook_square(WHITE, QUEEN_SIDE)), false) : 'Q'); if (can_castle(BLACK_OO)) - ss << (chess960 ? file_to_char(file_of(castle_rook_square(BLACK, KING_SIDE))) : 'k'); + ss << (chess960 ? file_to_char(file_of(castle_rook_square(BLACK, KING_SIDE)), true) : 'k'); if (can_castle(BLACK_OOO)) - ss << (chess960 ? file_to_char(file_of(castle_rook_square(BLACK, QUEEN_SIDE))) : 'q'); + ss << (chess960 ? file_to_char(file_of(castle_rook_square(BLACK, QUEEN_SIDE)), true) : 'q'); if (st->castleRights == CASTLES_NONE) ss << '-'; diff --git a/src/types.h b/src/types.h index 506e1b0f..b7bcb4e8 100644 --- a/src/types.h +++ b/src/types.h @@ -441,8 +441,8 @@ inline int square_distance(Square s1, Square s2) { return SquareDistance[s1][s2]; } -inline char file_to_char(File f) { - return char(f - FILE_A + 'a'); +inline char file_to_char(File f, bool tolower = true) { + return char(f - FILE_A + (tolower ? 'a' : 'A')); } inline char rank_to_char(Rank r) { -- 2.39.2