diff options
author | unknown <df@pippilotta.erinye.com> | 2007-09-27 08:56:06 +0200 |
---|---|---|
committer | unknown <df@pippilotta.erinye.com> | 2007-09-27 08:56:06 +0200 |
commit | 5b770e3a984cfa03702dfb3e62876d4834bd9ded (patch) | |
tree | a0f5d4d5e0a2da6775c2cee98952b35e2c05aab9 /mysys | |
parent | 4b4680898f8859fe37a69792f905936a06eef9e9 (diff) | |
download | mariadb-git-5b770e3a984cfa03702dfb3e62876d4834bd9ded.tar.gz |
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.
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/mf_tempfile.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mysys/mf_tempfile.c b/mysys/mf_tempfile.c index c1108f85054..9460f27b104 100644 --- a/mysys/mf_tempfile.c +++ b/mysys/mf_tempfile.c @@ -59,12 +59,26 @@ File create_temp_file(char *to, const char *dir, const char *prefix, myf MyFlags __attribute__((unused))) { File file= -1; +#ifdef __WIN__ + TCHAR path_buf[MAX_PATH-14]; +#endif DBUG_ENTER("create_temp_file"); DBUG_PRINT("enter", ("dir: %s, prefix: %s", dir, prefix)); #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 the file and release it's handle - uses up to the first three letters from prefix |