Mercurial > vim
changeset 7162:fe090e9cd10a v7.4.892
commit https://github.com/vim/vim/commit/9d6ca1cc5ebb6e61cc2ef73aecfbb0bdbb65432f
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Oct 13 13:49:09 2015 +0200
patch 7.4.892
Problem: On MS-Windows the iconv DLL may have a different name.
Solution: Also try libiconv2.dll and libiconv-2.dll. (Yasuhiro Matsumoto)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 13 Oct 2015 14:00:05 +0200 |
parents | c8bbd2386d34 |
children | ef6234bef1de |
files | src/mbyte.c src/version.c |
diffstat | 2 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mbyte.c +++ b/src/mbyte.c @@ -4400,7 +4400,9 @@ static HINSTANCE hMsvcrtDLL = 0; # ifndef DYNAMIC_ICONV_DLL # define DYNAMIC_ICONV_DLL "iconv.dll" -# define DYNAMIC_ICONV_DLL_ALT "libiconv.dll" +# define DYNAMIC_ICONV_DLL_ALT1 "libiconv.dll" +# define DYNAMIC_ICONV_DLL_ALT2 "libiconv2.dll" +# define DYNAMIC_ICONV_DLL_ALT3 "libiconv-2.dll" # endif # ifndef DYNAMIC_MSVCRT_DLL # define DYNAMIC_MSVCRT_DLL "msvcrt.dll" @@ -4456,9 +4458,16 @@ iconv_enabled(verbose) { if (hIconvDLL != 0 && hMsvcrtDLL != 0) return TRUE; + + /* The iconv DLL file goes under different names, try them all. */ hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL); - if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */ - hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT); + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT1); + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT2); + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT3); + if (hIconvDLL != 0) hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL); if (hIconvDLL == 0 || hMsvcrtDLL == 0)