6 Commits

Author SHA1 Message Date
anth64 c2b9571c2d fix(platform,core,test): fix Windows compatibility issues
- platform_mkdir now checks if directory exists before creating
- Add FILE_ATTRIBUTE_HIDDEN for dot-prefixed directories on Windows
- Create parent mods directory before temp directory
- Move module unload before copy in reload sequence to fix issue on Windows
- Force CMD shell in test makefile on Windows

Test makefile now uses cmd.exe instead of bash on Windows, fixing
syntax errors when running via build.bat.
2026-02-15 22:53:12 +01:00
anth64 bcb1795218 fix(core)!: enforce strict C89 compliance
BREAKING CHANGE: Public API now uses unsigned char instead of uint8_t

- Remove stdint.h dependency (C99 feature, not C89, I am a fucking idiot)
- Replace uint8_t with unsigned char throughout codebase
- Affects stk_init() return type and internal functions
- Corrects unintended C99 dependency, restoring intended C89 compliance
2026-02-14 11:41:41 +01:00
anth64 1919287c39 fix(test): ensure Windows compatibility in test suite
- Add OS detection for Windows vs Unix platforms
- Handle .exe extension on Windows for test program
- Fix directory creation with Windows-native commands (mkdir/copy vs mkdir -p/cp)
- Update clean target to use appropriate commands per platform
- Set PATH environment for DLL loading on Windows
- Remove broken uname detection that fails on Windows
2026-02-01 01:41:03 +01:00
anth64 dc30ce5366 fix: cast size_t to unsigned long in printf format specifiers
Prevent potential format string mismatches on platforms where
size_t and unsigned long may have different sizes by explicitly
casting size_t variables to unsigned long when using %lu format
specifier in printf calls.
2026-02-01 01:39:01 +01:00
anth64 d7f6adb5b5 fix(build): resolve BSD make compatibility issues
- Use absolute path ${.CURDIR}/test in main bmake.mk
- Replace automatic variable $< with explicit source filenames in test/bmake.mk
- Ensure proper directory navigation and source file compilation
- Fixes "undefined symbol: main" linker error on BSD systems
2026-01-31 23:08:39 +01:00
anth64 d2bf8fb67a feat(test): add comprehensive test infrastructure
- Add test target to both bmake.mk and gmake.mk Makefiles
- Add test-related artifacts to .gitignore (excluding DLLs/shared libs)
- Create test directory with cross-platform Makefiles (bmake.mk, gmake.mk)
- Implement cross-platform test program with signal handling (test.c)
- Add test module source for compilation (test_mod.c)
- Set up automated test environment with mods/ directory
- Support both POSIX and Windows platforms

The test infrastructure allows running integration tests via 'make test'
and demonstrates stk library functionality with dynamic module loading.
Generated DLLs/shared libraries are excluded from version control.
2026-01-31 22:46:07 +01:00