Mercurial > vim
changeset 15744:2958a8e51a67 v8.1.0879
patch 8.1.0879: MS-Windows: temp name encoding can be wrong
commit https://github.com/vim/vim/commit/0036201a1a096913840d3df8ff08eb58eaae90a6
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Feb 8 12:21:30 2019 +0100
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 08 Feb 2019 12:30:07 +0100 |
parents | 4dfd751fda99 |
children | 655ee4b0a5cc |
files | src/fileio.c src/version.c |
diffstat | 2 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c +++ b/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 */