Add support for WASI platform in tmpFile.

This commit is contained in:
whitequark 2020-04-30 17:02:04 +00:00 committed by Eddie Hung
parent 11c4f998b2
commit 09607e9055
1 changed files with 11 additions and 0 deletions

View File

@ -102,6 +102,17 @@ int tmpFile(const char* prefix, const char* suffix, char** out_name)
}
assert(0); // -- could not open temporary file
return 0;
#elif defined(__wasm)
static int seq = 0; // no risk of collision since we're in a sandbox
int fd;
*out_name = (char*)malloc(strlen(prefix) + strlen(suffix) + 9);
sprintf(*out_name, "%s%08d%s", prefix, seq++, suffix);
fd = open(*out_name, O_CREAT | O_EXCL | O_RDWR, S_IREAD | S_IWRITE);
if (fd == -1){
free(*out_name);
*out_name = NULL;
}
return fd;
#else
int fd;
*out_name = (char*)malloc(strlen(prefix) + strlen(suffix) + 7);