Mercurial > vim
diff src/mbyte.c @ 7734:616769d423fc v7.4.1165
commit https://github.com/vim/vim/commit/938ee834d345062cd94f8fdfd54fad0019432a83
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 24 15:36:03 2016 +0100
patch 7.4.1165
Problem: When defining DYNAMIC_ICONV_DLL in the makefile, the build fails.
Solution: Add #ifdef's. (Taro Muraoka) Try the newer version first.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 24 Jan 2016 15:45:04 +0100 |
parents | 8ab712f2c3b8 |
children | 37c929c4a073 |
line wrap: on
line diff
--- a/src/mbyte.c +++ b/src/mbyte.c @@ -4392,21 +4392,21 @@ iconv_string(vcp, str, slen, unconvlenp, * Dynamically load the "iconv.dll" on Win32. */ -#ifndef DYNAMIC_ICONV /* just generating prototypes */ -# define HINSTANCE int -#endif +# ifndef DYNAMIC_ICONV /* must be generating prototypes */ +# define HINSTANCE int +# endif static HINSTANCE hIconvDLL = 0; static HINSTANCE hMsvcrtDLL = 0; -# ifndef DYNAMIC_ICONV_DLL -# define DYNAMIC_ICONV_DLL "iconv.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" -# endif +# ifndef DYNAMIC_ICONV_DLL +# define DYNAMIC_ICONV_DLL "iconv.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" +# endif /* * Get the address of 'funcname' which is imported by 'hInst' DLL. @@ -4459,14 +4459,22 @@ 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); + /* The iconv DLL file goes under different names, try them all. + * Do the "2" version first, it's newer. */ +#ifdef DYNAMIC_ICONV_DLL_ALT2 + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT2); +#endif +#ifdef DYNAMIC_ICONV_DLL_ALT3 + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT3); +#endif + if (hIconvDLL == 0) + hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL); +#ifdef DYNAMIC_ICONV_DLL_ALT1 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); +#endif if (hIconvDLL != 0) hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL);