diff --git a/FENTESTS.txt b/FENTESTS.txt index 54d2b4a..796702a 100644 --- a/FENTESTS.txt +++ b/FENTESTS.txt @@ -7,12 +7,15 @@ r3k2r/8/3B4/8/8/3b4/8/R3K2R w KQkq - 0 1 r3k2r/8/3BB3/8/8/3bb3/8/R3K2R w KQkq - 0 1 r2bkb1r/8/8/8/8/3bb3/8/R2BKB1R w KQkq - 0 1 +# 4 castle possible, only K+R +r3k2r/8/8/8/8/8/8/R3K2R w KQkq - 0 1 + # illegal positions 4k3/8/8/8/7b/8/8/4K3 b - - 0 1 2r1k3/3P4/8/8/8/8/8/4K3 w - - 0 1 -# only kings on A1/H8 -k7/8/8/8/8/8/8/K7 b - - 0 1 +# only kings on A1/A8, white to play +k7/8/8/8/8/8/8/K7 w - - 0 1 # only one move possible (Pf2xBg3) k7/8/8/1p1p4/pPpPp3/P1PpPpb1/NBNP1P2/KBB1B3 w - - 0 1 diff --git a/include/debug.h b/include/debug.h index 22921d7..99383a3 100644 --- a/include/debug.h +++ b/include/debug.h @@ -27,6 +27,7 @@ void debug_init(uint level, FILE *stream, bool flush); void debug_level_set(uint level); +uint debug_level_get(void); void debug_stream_set(FILE *stream); void debug_flush_set(bool flush); void _printf debug(uint level, bool timestamp, @@ -38,6 +39,7 @@ static inline void debug_init(__unused uint level, __unused FILE *stream, _unused bool flush) {} static inline void debug_level_set(__unused uint level) {} +static inline uint debug_level_get(void) {return 0;} static inline void debug_stream_set(__unused FILE *stream) {} static inline void debug_flush_set(__unused bool level) {} static inline void _printf debug(__unused uint level, __unused bool timestamp, diff --git a/libsrc/debug.c b/libsrc/debug.c index 3d98ca8..5d776cb 100644 --- a/libsrc/debug.c +++ b/libsrc/debug.c @@ -37,19 +37,34 @@ static FILE *stream = NULL; void debug_level_set(uint level) { debug_level = level; +# ifdef DEBUG_DEBUG_C log(0, "debug level set to %u\n", level); +# endif +} + +/** + * debug_level_get() - get debug level. + * @return: current level debug (unsigned integer). + */ +uint debug_level_get(void) +{ + return debug_level; } void debug_stream_set(FILE *_stream) { stream = _stream; +# ifdef DEBUG_DEBUG_C log(0, "stream set to %d\n", stream? fileno(stream): -1); +# endif } void debug_flush_set(bool flush) { debug_flush = flush; - log(0, "debug flush set to %d\n", flush); +# ifdef DEBUG_DEBUG_C + log(0, "debug flush %s.\n", flush? "set": "unset"); +# endif } void debug_init(uint level, FILE *_stream, bool flush)