libaacs | branch: master | npzacs <[email protected]> | Sat Oct  1 00:08:46 2011 
+0300| [db866cd93ca11843b3fa24b8ae694b1b88073bd3] | committer: npzacs

Fixed mkdir() in windows

> http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=db866cd93ca11843b3fa24b8ae694b1b88073bd3
---

 src/file/keydbcfg.c |    5 ++++-
 src/file/win32.c    |    9 +++++++++
 src/file/win32.h    |    1 +
 3 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/file/keydbcfg.c b/src/file/keydbcfg.c
index 81372ee..029f8be 100644
--- a/src/file/keydbcfg.c
+++ b/src/file/keydbcfg.c
@@ -41,7 +41,10 @@
 
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <unistd.h>
+
+#ifdef _WIN32
+# define mkdir(p,m) win32_mkdir(p)
+#endif
 
 
 #define CFG_DIR        "aacs"
diff --git a/src/file/win32.c b/src/file/win32.c
index a855796..31c8e5c 100644
--- a/src/file/win32.c
+++ b/src/file/win32.c
@@ -31,6 +31,15 @@
 #include <shlobj.h>
 #include <w32api.h>
 #include <limits.h>
+#include <direct.h>
+
+int win32_mkdir(const char *dir)
+{
+    wchar_t wdir[MAX_PATH];
+
+    MultiByteToWideChar(CP_UTF8, 0, dir, -1, wdir, MAX_PATH);
+    return _wmkdir(wdir);
+}
 
 const char *win32_get_config_home(void)
 {
diff --git a/src/file/win32.h b/src/file/win32.h
index a6654bf..85effde 100644
--- a/src/file/win32.h
+++ b/src/file/win32.h
@@ -22,6 +22,7 @@
 
 #include <util/attributes.h>
 
+AACS_PRIVATE int         win32_mkdir(const char *dir);
 AACS_PRIVATE const char *win32_get_config_home(void);
 AACS_PRIVATE const char *win32_get_config_system(const char *dir);
 

_______________________________________________
libaacs-devel mailing list
[email protected]
http://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to