diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-05-20 10:07:16 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-05-20 10:11:29 -0400 |
commit | 67975a5944706e382fe1e7b00d226715c6242358 (patch) | |
tree | e93dd37df57f49d4327567479521014f380206e5 /src/docker.c | |
parent | 30c9945e0da19305ebad88a2835653ff4f409313 (diff) | |
download | stasis-67975a5944706e382fe1e7b00d226715c6242358.tar.gz |
Mass attempt at windows portability
Diffstat (limited to 'src/docker.c')
-rw-r--r-- | src/docker.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/docker.c b/src/docker.c index f8c9c11..872e06a 100644 --- a/src/docker.c +++ b/src/docker.c @@ -36,7 +36,20 @@ int docker_script(const char *image, char *data, unsigned flags) { return -1; } +#if defined(OMC_OS_WINDOWS) + char tempfile[PATH_MAX]; + strcpy(tempfile, "OMC.docker.XXXXXX"); + if (mkstemp(tempfile)) { + // creating temp file failed + return -1; + } + infile = fopen(tempfile, "w"); + for (size_t i = 0; i < strlen(data); i++) { + fputc(data[i], infile); + } +#else infile = fmemopen(data, strlen(data), "r"); +#endif if (!infile) { // opening memory file for reading failed return -1; @@ -49,6 +62,9 @@ int docker_script(const char *image, char *data, unsigned flags) { } while (!feof(infile)); fclose(infile); +#if defined(OMC_OS_WINDOWS) + remove(tempfile); +#endif return pclose(outfile); } |