diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2014-11-13 19:36:08 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-11-13 11:58:59 -0800 |
commit | 4096383fb57ab33e9adc32a13f20b7a58a2c33c7 (patch) | |
tree | f6c1a20f0ea269256a0124955487b911dae6b583 /windows.c | |
parent | 61dc19d2e0bc69004b03a990993eda547f4e0093 (diff) | |
download | subsurface-4096383fb57ab33e9adc32a13f20b7a58a2c33c7.tar.gz |
Add subsurface_access()
For our usage the method will acept UTF-8 paths,
which are converted to UTF-16 on Win32.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'windows.c')
-rw-r--r-- | windows.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,5 +1,6 @@ /* windows.c */ /* implements Windows specific functions */ +#include <io.h> #include "dive.h" #include "display.h" #undef _WIN32_WINNT @@ -235,6 +236,18 @@ void *subsurface_opendir(const char *path) return (void *)ret; } +int subsurface_access(const char *path, int mode) +{ + int ret = -1; + if (!path) + return ret; + wchar_t *wpath = utf8_to_utf16(path); + if (wpath) + ret = _waccess(wpath, mode); + free((void *)wpath); + return ret; +} + #ifndef O_BINARY #define O_BINARY 0 #endif |