summaryrefslogtreecommitdiffstats
path: root/osdep/io.h
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossymiles@gmail.com>2014-09-05 01:36:15 +1000
committerwm4 <wm4@nowhere>2014-09-05 17:51:44 +0200
commit5c3f3fd3dab3e399c473790f55272c5d6aec2764 (patch)
tree0b3cd4e30dd66ca3347c5c52682bfa2eee36f2ef /osdep/io.h
parent15a882d2ed7e9eee5c2b1166189698291e76b19b (diff)
downloadmpv-5c3f3fd3dab3e399c473790f55272c5d6aec2764.tar.bz2
mpv-5c3f3fd3dab3e399c473790f55272c5d6aec2764.tar.xz
win32: add tmpfile() replacement
The Windows version of tmpfile is actually pretty broken. It tries to create the file in the root directory of the current drive, which means on Vista and up, it normally fails due to insufficient permissions. Replace it with a version that uses GetTempPath. Also remove the Windows-specific note about automatic deletion of the cache file. FILE_FLAG_DELETE_ON_CLOSE is available in NT, and it should be pretty reliable.
Diffstat (limited to 'osdep/io.h')
-rw-r--r--osdep/io.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/osdep/io.h b/osdep/io.h
index 306e2ac6ec..ae3cdc1802 100644
--- a/osdep/io.h
+++ b/osdep/io.h
@@ -75,6 +75,7 @@ DIR *mp_opendir(const char *path);
struct dirent *mp_readdir(DIR *dir);
int mp_closedir(DIR *dir);
int mp_mkdir(const char *path, int mode);
+FILE *mp_tmpfile(void);
char *mp_getenv(const char *name);
typedef struct {
@@ -101,6 +102,7 @@ void mp_globfree(mp_glob_t *pglob);
#define readdir(...) mp_readdir(__VA_ARGS__)
#define closedir(...) mp_closedir(__VA_ARGS__)
#define mkdir(...) mp_mkdir(__VA_ARGS__)
+#define tmpfile(...) mp_tmpfile(__VA_ARGS__)
#define getenv(...) mp_getenv(__VA_ARGS__)
#ifndef GLOB_NOMATCH