From cc757ab57808a9609bae723dfe1c8052a53087d3 Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Sat, 1 Aug 2026 20:57:26 -0400 Subject: [PATCH] Fix the two Doxygen errors that were failing the docs build `Doxyfile` sets `WARN_AS_ERROR = FAIL_ON_WARNINGS` and CI builds the docs as a step of `cmake_build`, so both of these failed the job: - `akgl_character_initialize` documented `@param basechar` for a parameter the declaration spells `obj`. This is exactly the mismatch AGENTS.md warns about under Naming Conventions -- "parameter names must match between the declaration and the definition, Doxygen publishes the header spelling" -- and it cost two errors, one for the argument that does not exist and one for the argument left undocumented. - `require_at_eof` asked for an explicit link to `#AKERR_EOF`. That symbol is libakerror's and `Doxyfile`'s INPUT is `include/akgl src`, so the link can never resolve. Backticks say the same thing to a reader without asking Doxygen to find a page it does not have. `doxygen Doxyfile` now exits 0 with no diagnostics. Co-Authored-By: Claude Code Co-Authored-By: Claude Opus 5 (1M context) --- include/akgl/character.h | 2 +- src/game.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/akgl/character.h b/include/akgl/character.h index 65b6884..e309a51 100644 --- a/include/akgl/character.h +++ b/include/akgl/character.h @@ -47,7 +47,7 @@ typedef struct akgl_Character { * reference. Everything numeric (speeds, accelerations, `speedtime`) is left at * zero for the caller -- or akgl_character_load_json -- to fill in. * - * @param basechar Pooled character to initialize, normally straight from + * @param obj Pooled character to initialize, normally straight from * akgl_heap_next_character. Required. Any previous contents are * discarded without releasing the sprites they referenced. * @param name Registry key, NUL-terminated. Required. Truncated at diff --git a/src/game.c b/src/game.c index 404c237..590830b 100644 --- a/src/game.c +++ b/src/game.c @@ -149,7 +149,7 @@ static akerr_ErrorContext *read_exact(void *ptr, size_t size, size_t nmemb, FILE * `fgetc(3)` is not used here. It spells "end of file" and "the read failed" * with the same `EOF`, so a disk error at this point read as a clean end and * passed the check it was supposed to fail. `aksl_fgetc` tells the two apart: - * #AKERR_EOF is the outcome this wants and is the only one swallowed. + * `AKERR_EOF` is the outcome this wants and is the only one swallowed. * * @param fp Open input stream. Required. * @return `NULL` at end of file, otherwise an error context owned by the caller.