mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.1.0879: MS-Windows: temp name encoding can be wrong
Problem: MS-Windows: temp name encoding can be wrong. Solution: Convert from active code page to 'encoding'. (Ken Takata, closes #3520, closes #1698)
This commit is contained in:
18
src/fileio.c
18
src/fileio.c
@@ -7470,6 +7470,24 @@ vim_tempname(
|
||||
for (p = retval; *p; ++p)
|
||||
if (*p == '\\')
|
||||
*p = '/';
|
||||
|
||||
#if defined(FEAT_MBYTE) && defined(WIN3264)
|
||||
if (enc_utf8)
|
||||
{
|
||||
int len;
|
||||
char_u *pp = NULL;
|
||||
|
||||
// Convert from active codepage to UTF-8 since mch_call_shell()
|
||||
// converts command-line to wide string from encoding.
|
||||
acp_to_enc(retval, (int)STRLEN(retval), &pp, &len);
|
||||
if (pp != NULL)
|
||||
{
|
||||
vim_free(retval);
|
||||
return pp;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return retval;
|
||||
|
||||
# else /* WIN3264 */
|
||||
|
Reference in New Issue
Block a user