5e2be61a2c
test_stops.c uses POSIX mkdtemp() to make a scratch dir in the CWD, but
MinGW-w64 does not declare mkdtemp, so the test failed to compile on the
Windows job - and only there:
tests/test_stops.c:73:9: error: implicit declaration of function 'mkdtemp';
did you mean 'mktemp'? [-Wimplicit-function-declaration]
make: *** [Makefile:318: tests/test_stops.exe] Error 1
That halted `make test` at the C-test stage on Windows (test_uring is
correctly Linux-only, so test_stops was the only blocker).
Added a compat_mkdtemp shim to compat.h, following the file's existing
convention (every platform difference lives there; the .c stays clean):
_mktemp fills the trailing X's in place (same contract as mkdtemp), then
_mkdir creates the directory. Also added <direct.h> for _mkdir. On Linux
compat.h is a complete no-op, so POSIX mkdtemp is untouched there.
Verified: test_stops builds clean on MinGW and all 5 sub-cases pass:
tokenizer special-flag parsing, config/generation_config eos union,
no-generation_config fallback, both-configs-mutilated tokenizer sweep,
and the T=NULL validation path.