// Stubs for libc functions Lua references that our libc doesn't provide. // Kept minimal — only what's needed for the small embedded scripts that // our test harness runs (no real file I/O, no locale). #include #include int strcoll(const char *a, const char *b) { return strcmp(a, b); } size_t strxfrm(char *dst, const char *src, size_t n) { // C locale: strxfrm is just a length-bounded copy. size_t len = strlen(src); if (n > 0) { size_t copy = (len < n) ? len : (n - 1); memcpy(dst, src, copy); dst[copy] = '\0'; } return len; } // freopen is referenced by lauxlib.c's loadfile for switching to "rb" // mode after a preamble peek. Our fopen already opens binary-clean // (no \r\n translation), so we can just return the same handle. FILE *freopen(const char *path, const char *mode, FILE *stream) { (void)path; (void)mode; return stream; }