Mercurial > vim
diff src/os_win32.c @ 2803:66f2d62271fe v7.3.177
updated for version 7.3.177
Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is
"utf-8".
Solution: Convert to utf-16. (Yukihiro Nakadaira)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 05 May 2011 18:31:59 +0200 |
parents | ee48b3da9d53 |
children | ce1dce2af2a3 |
line wrap: on
line diff
--- a/src/os_win32.c +++ b/src/os_win32.c @@ -2640,6 +2640,30 @@ mch_isdir(char_u *name) } /* + * Create directory "name". + * Return 0 on success, -1 on error. + */ + int +mch_mkdir(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 = _wmkdir(p); + vim_free(p); + return retval; + } +#endif + return _mkdir(name); +} + +/* * Return TRUE if file "fname" has more than one link. */ int