diff -r 231a79d93c0c -r 685af47592b5 src/chess/rules.c --- a/src/chess/rules.c Thu Apr 16 19:29:11 2026 +0200 +++ b/src/chess/rules.c Thu Apr 16 19:49:16 2026 +0200 @@ -36,6 +36,7 @@ #include "king.h" #include +#include #include #include @@ -816,3 +817,14 @@ return used_time >= total_time ? 0 : total_time - used_time; } + +void print_clk(uint16_t time, char *str, bool always_hours) { + unsigned hours = time / 3600; + unsigned minutes = (time % 3600) / 60; + unsigned seconds = time % 60; + if (hours > 0 || always_hours) { + snprintf(str, 9, "%02u:%02u:%02u", hours, minutes, seconds); + } else { + snprintf(str, 6, "%02u:%02u", minutes, seconds); + } +}