To: vim_dev@googlegroups.com Subject: Patch 7.3.177 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.177 Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is "utf-8". Solution: Convert to utf-16. (Yukihiro Nakadaira) Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro *** ../vim-7.3.176/src/os_win32.c 2011-05-05 16:41:19.000000000 +0200 --- src/os_win32.c 2011-05-05 18:24:36.000000000 +0200 *************** *** 2640,2645 **** --- 2640,2669 ---- } /* + * 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 *** ../vim-7.3.176/src/os_win32.h 2010-08-15 21:57:30.000000000 +0200 --- src/os_win32.h 2011-05-05 18:25:44.000000000 +0200 *************** *** 191,195 **** #ifdef __BORLANDC__ # define vim_mkdir(x, y) mkdir(x) #else ! # define vim_mkdir(x, y) _mkdir(x) #endif --- 191,195 ---- #ifdef __BORLANDC__ # define vim_mkdir(x, y) mkdir(x) #else ! # define vim_mkdir(x, y) mch_mkdir(x) #endif *** ../vim-7.3.176/src/proto/os_win32.pro 2011-05-05 16:41:19.000000000 +0200 --- src/proto/os_win32.pro 2011-05-05 18:26:20.000000000 +0200 *************** *** 20,25 **** --- 20,26 ---- int mch_setperm __ARGS((char_u *name, long perm)); void mch_hide __ARGS((char_u *name)); int mch_isdir __ARGS((char_u *name)); + int mch_mkdir __ARGS((char_u *name)); int mch_is_linked __ARGS((char_u *fname)); int win32_fileinfo __ARGS((char_u *name, BY_HANDLE_FILE_INFORMATION *lpFileInfo)); int mch_writable __ARGS((char_u *name)); *** ../vim-7.3.176/src/version.c 2011-05-05 18:10:11.000000000 +0200 --- src/version.c 2011-05-05 18:27:56.000000000 +0200 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 177, /**/ -- hundred-and-one symptoms of being an internet addict: 56. You leave the modem speaker on after connecting because you think it sounds like the ocean wind...the perfect soundtrack for "surfing the net". /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///