From fb8cf35d9dbd9278f00c772100abf5888e444c1a Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Fri, 1 Mar 2024 11:55:17 +0100 Subject: [PATCH] Validate max one king per side --- src/apiutil.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/apiutil.h b/src/apiutil.h index 4b364f6..d39102f 100644 --- a/src/apiutil.h +++ b/src/apiutil.h @@ -821,6 +821,16 @@ inline Validation check_number_of_kings(const std::string& fenBoard, const std:: int nbWhiteKingsStart = piece_count(startFenBoard, WHITE, KING, v); int nbBlackKingsStart = piece_count(startFenBoard, BLACK, KING, v); + if (nbWhiteKings > 1) + { + std::cerr << "Invalid number of white kings. Maximum: 1. Given: " << nbWhiteKings << std::endl; + return NOK; + } + if (nbBlackKings > 1) + { + std::cerr << "Invalid number of black kings. Maximum: 1. Given: " << nbBlackKings << std::endl; + return NOK; + } if (nbWhiteKings != nbWhiteKingsStart) { std::cerr << "Invalid number of white kings. Expected: " << nbWhiteKingsStart << ". Given: " << nbWhiteKings << std::endl; -- 1.7.0.4