fix for winblows

This commit is contained in:
William Bell
2025-08-18 15:03:11 +01:00
parent 1908d9bbbb
commit 86947491da

View File

@@ -20,14 +20,21 @@
#endif #endif
#if defined(_WIN32) || defined(_WIN64) #if defined(_WIN32) || defined(_WIN64)
FILE *fmemopen(void *buf, size_t size, const char *mode) { FILE *fmemopen(void *buf, size_t size, const char *mode) {
FILE *fp = tmpfile(); if (strchr(mode, 'r') == NULL) {
if (!fp) return NULL; return NULL;
if (strchr(mode, 'w') || strchr(mode, '+')) {
fwrite(buf, 1, size, fp);
rewind(fp);
} }
return fp;
FILE *tmp = tmpfile();
if (!tmp) return NULL;
if (fwrite(buf, 1, size, tmp) != size) {
fclose(tmp);
return NULL;
}
rewind(tmp);
return tmp;
} }
#else #else
#include "../external/linenoise/linenoise.h" #include "../external/linenoise/linenoise.h"