diff --git a/util/test/demos/linux/linux_platform.cpp b/util/test/demos/linux/linux_platform.cpp index b488de70a..b4dd2082b 100644 --- a/util/test/demos/linux/linux_platform.cpp +++ b/util/test/demos/linux/linux_platform.cpp @@ -22,6 +22,7 @@ * THE SOFTWARE. ******************************************************************************/ +#include #include "test_common.h" std::string GetCWD() @@ -48,4 +49,9 @@ std::string GetEnvVar(const char *var) return data; return ""; +} + +void tmpnam_via_mkstemp(char (&buf)[MAX_PATH]) +{ + snprintf(buf, MAX_PATH - 1, "/tmp/rdoc_tmp/%x", rand()); } \ No newline at end of file diff --git a/util/test/demos/linux/linux_platform.h b/util/test/demos/linux/linux_platform.h index 390912ad4..cc2bc55f7 100644 --- a/util/test/demos/linux/linux_platform.h +++ b/util/test/demos/linux/linux_platform.h @@ -33,4 +33,8 @@ #define msleep(time) usleep((time)*1000) -#define EXECUTABLE_SUFFIX "" \ No newline at end of file +#define EXECUTABLE_SUFFIX "" + +#define get_tmpnam tmpnam_via_mkstemp + +void tmpnam_via_mkstemp(char (&buf)[MAX_PATH]); \ No newline at end of file diff --git a/util/test/demos/test_common.cpp b/util/test/demos/test_common.cpp index ba2792ec1..5b8874b8c 100644 --- a/util/test/demos/test_common.cpp +++ b/util/test/demos/test_common.cpp @@ -300,8 +300,8 @@ std::vector CompileShaderToSpv(const std::string &source_text, SPIRVTa char infile[MAX_PATH] = {}; char outfile[MAX_PATH] = {}; - tmpnam(infile); - tmpnam(outfile); + get_tmpnam(infile); + get_tmpnam(outfile); command_line += " -o "; command_line += outfile; diff --git a/util/test/demos/win32/win32_platform.h b/util/test/demos/win32/win32_platform.h index d2cadbf4d..5771db7b3 100644 --- a/util/test/demos/win32/win32_platform.h +++ b/util/test/demos/win32/win32_platform.h @@ -44,6 +44,8 @@ std::wstring UTF82Wide(const std::string &s); #define popen _popen #define pclose _pclose +#define get_tmpnam tmpnam_s + #define msleep(time) Sleep(time) #define WEXITSTATUS(code) code