Commit Graph

21 Commits

Author SHA1 Message Date
11d21068df Add collision-safe status code registry
Replace the consumer-sized status-name array with private sparse storage and accept arbitrary integer status values. Add explicit range reservations with overlap diagnostics, reserve the library's 0-255 compatibility band, and harden pointer and string boundary handling.

Update regression coverage and document the required migration for custom status-code consumers.
2026-07-30 13:53:52 -04:00
3e24356f07 Document that CATCH/FAIL_*_BREAK must not be used inside a loop
All checks were successful
libakerror CI Build / cmake_build (push) Successful in 2m47s
libakerror CI Build / mutation_test (push) Successful in 6m59s
These macros leave the ATTEMPT block with a C break, which only escapes the
innermost loop/switch. Nesting them in a loop inside an ATTEMPT lets the rest of
the block run with an error already pending. Document the correct patterns:
iterate with PASS / FAIL_*_RETURN (which return, not break), or move the loop
into a helper returning akerr_ErrorContext * and CATCH the single call. Also
note that merely extracting the loop into a function does not fix it if the
helper still wraps the loop in ATTEMPT.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 08:49:29 -04:00
4fad0cec59 Add gitea workflow
All checks were successful
libakerror CI Build / cmake_build (push) Successful in 2m39s
2026-06-27 10:22:26 -04:00
03e9b8a96d Update docs, replace the missing VALID() macro to safeguard against misbehaving functions, add PASS, remove CATCH_AND_RETURN 2026-05-15 19:41:22 -04:00
c840536e1d Fix a couple errors in the README 2026-01-12 09:26:28 -05:00
14e903a81c Import all system definitions of errno including their string representations, then layer our error definitions on top of that 2026-01-12 09:23:36 -05:00
cb9af93e0b README fixes, fix a bug in the header stdlib checking 2026-01-10 22:03:14 -05:00
c526bb1ba3 Cleanup the code and unified everything (except the macros) under the akerr_ namespace 2026-01-10 10:20:35 -05:00
6821752ec7 Change naming convention for the error context array to avoid confusion about whether it is dynamic or static 2026-01-10 09:50:17 -05:00
cf0f2bbeac Make stdlib optional. Remove dependency on SDL3. Update README. 2026-01-05 21:18:44 -05:00
8962c65914 Add cmake and pkgconfig info to the README 2025-08-03 10:13:27 -04:00
f5654af680 Removed spurious error.h, renamed to sdlerror.h 2025-08-02 15:09:12 -04:00
0521ebaf7d Better support for user-defined error codes and messages 2025-08-02 15:07:08 -04:00
758d994adb Add explanation of ERROR_NOIGNORE to the README 2025-08-02 14:32:47 -04:00
9c1446bf71 Add explanation of ERROR_NOIGNORE to the README 2025-08-02 14:28:54 -04:00
3b9f3048ea Document stacktraces, add example builds to CMakeLists.txt 2025-07-21 08:54:26 -04:00
36eadd569f Improve README, add example tests 2025-07-21 07:25:09 -04:00
9b3835d484 Improve README, add example tests 2025-07-21 07:24:00 -04:00
a3c9d815e5 Improve README, add example tests 2025-07-21 07:19:41 -04:00
826676dca2 Move from Makefile to CMake 2025-07-20 22:02:21 -04:00
79154b2851 Add AI generated README.md 2025-07-20 21:44:17 -04:00