summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/os_win32.c24
-rw-r--r--src/proto/os_win32.pro1
-rw-r--r--src/version.c2
3 files changed, 27 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
diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro
index e6fce88a3..7cdd15677 100644
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -22,6 +22,7 @@ void mch_hide __ARGS((char_u *name));
int mch_ishidden __ARGS((char_u *name));
int mch_isdir __ARGS((char_u *name));
int mch_mkdir __ARGS((char_u *name));
+int mch_rmdir __ARGS((char_u *name));
int mch_is_hard_link __ARGS((char_u *fname));
int mch_is_symbolic_link __ARGS((char_u *fname));
int mch_is_linked __ARGS((char_u *fname));
diff --git a/src/version.c b/src/version.c
index 1a61df43a..2767f1d82 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1109,
+/**/
1108,
/**/
1107,