From: Bram Moolenaar Date: Sat, 16 Jan 2016 21:02:57 +0000 (+0100) Subject: patch 7.4.1109 X-Git-Tag: v7.4.1109 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4cf7679383dca81a4a351e2b0ec333c95d6d9085;p=vim patch 7.4.1109 Problem: MS-Windows doesn't have rmdir(). Solution: Add mch_rmdir(). --- 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 @@ -3153,6 +3153,30 @@ mch_mkdir(char_u *name) return _mkdir(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. */ 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 @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1109, /**/ 1108, /**/