Commit 5b770e3a authored by unknown's avatar unknown

avoid using GetTempFileName in a way it's documented to not work on windows


mysys/mf_tempfile.c:
  Try to avoid passing null as first parameter to GetTempFileName, since it's documented that it won't work.
parent 4b468089
...@@ -59,11 +59,25 @@ File create_temp_file(char *to, const char *dir, const char *prefix, ...@@ -59,11 +59,25 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
myf MyFlags __attribute__((unused))) myf MyFlags __attribute__((unused)))
{ {
File file= -1; File file= -1;
#ifdef __WIN__
TCHAR path_buf[MAX_PATH-14];
#endif
DBUG_ENTER("create_temp_file"); DBUG_ENTER("create_temp_file");
DBUG_PRINT("enter", ("dir: %s, prefix: %s", dir, prefix)); DBUG_PRINT("enter", ("dir: %s, prefix: %s", dir, prefix));
#if defined (__WIN__) #if defined (__WIN__)
/*
Use GetTempPath to determine path for temporary files.
This is because the documentation for GetTempFileName
has the following to say about this parameter:
"If this parameter is NULL, the function fails."
*/
if (!dir)
{
if(GetTempPath(sizeof(path_buf), path_buf) > 0)
dir = path_buf;
}
/* /*
Use GetTempFileName to generate a unique filename, create Use GetTempFileName to generate a unique filename, create
the file and release it's handle the file and release it's handle
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment