summaryrefslogtreecommitdiff
path: root/src/os_win32.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-01-16 22:02:57 +0100
committerBram Moolenaar <Bram@vim.org>2016-01-16 22:02:57 +0100
commit4cf7679383dca81a4a351e2b0ec333c95d6d9085 (patch)
treef439fad1b13e7dc676001386bc072fe2ee31315e /src/os_win32.c
parent58adb14739fa240ca6020cede9ab1f1cb07bd90a (diff)
downloadvim-git-4cf7679383dca81a4a351e2b0ec333c95d6d9085.tar.gz
patch 7.4.1109v7.4.1109
Problem: MS-Windows doesn't have rmdir(). Solution: Add mch_rmdir().
Diffstat (limited to 'src/os_win32.c')
-rw-r--r--src/os_win32.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index c5b23ca7d..a47ffaf18 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3154,6 +3154,30 @@ mch_mkdir(char_u *name)
}
/*
+ * Delete directory "name".
+ * Return 0 on success, -1 on error.
+ */
+ int
+mch_rmdir(char_u *name)
+{
+#ifdef FEAT_MBYTE
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+ {
+ WCHAR *p;
+ int retval;
+
+ p = enc_to_utf16(name, NULL);
+ if (p == NULL)
+ return -1;
+ retval = _wrmdir(p);
+ vim_free(p);
+ return retval;
+ }
+#endif
+ return _rmdir(name);
+}
+
+/*
* Return TRUE if file "fname" has more than one link.
*/
int