mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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)
This commit is contained in:
parent
948733a874
commit
3c9c99cb2c
@ -2639,6 +2639,30 @@ mch_isdir(char_u *name)
|
||||
return (f & FILE_ATTRIBUTE_DIRECTORY) != 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
@ -191,5 +191,5 @@ Trace(char *pszFormat, ...);
|
||||
#ifdef __BORLANDC__
|
||||
# define vim_mkdir(x, y) mkdir(x)
|
||||
#else
|
||||
# define vim_mkdir(x, y) _mkdir(x)
|
||||
# define vim_mkdir(x, y) mch_mkdir(x)
|
||||
#endif
|
||||
|
@ -20,6 +20,7 @@ long mch_getperm __ARGS((char_u *name));
|
||||
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));
|
||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
177,
|
||||
/**/
|
||||
176,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user