]> granicus.if.org Git - vim/commitdiff
patch 7.4.892 v7.4.892
authorBram Moolenaar <Bram@vim.org>
Tue, 13 Oct 2015 11:49:09 +0000 (13:49 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 13 Oct 2015 11:49:09 +0000 (13:49 +0200)
Problem:    On MS-Windows the iconv DLL may have a different name.
Solution:   Also try libiconv2.dll and libiconv-2.dll. (Yasuhiro Matsumoto)

src/mbyte.c
src/version.c

index 75559b014a576a832b34c5a686d771ce5f5ea197..6046d7d0ba06d8cf5829bb32e858b60aa74afadd 100644 (file)
@@ -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)
index ce0579288b24a9065b315d97f2df6403af6ed781..3722b5aee14b3e58cac80b35064b53b2c0150cea 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    892,
 /**/
     891,
 /**/