[Libreoffice-commits] core.git: external/hunspell external/hyphen external/mythes

László Németh nemeth at numbertext.org
Sun Jul 20 04:48:20 PDT 2014


 external/hunspell/hunspell-fdo48017-wfopen.patch |    6 +++---
 external/hyphen/hyphen-fdo48017-wfopen.patch     |   10 +++++++---
 external/mythes/mythes-fdo48017-wfopen.patch     |    9 +++++++--
 3 files changed, 17 insertions(+), 8 deletions(-)

New commits:
commit d7374d4812316a79916956f03c8bd4a281fdbdec
Author: László Németh <nemeth at numbertext.org>
Date:   Sun Jul 20 13:46:57 2014 +0200

    fdo#80363 _wfullpath in MyThes and Hyphen
    
    Change-Id: I4232040d4c62220389ca356797d18b1c87673e64

diff --git a/external/hunspell/hunspell-fdo48017-wfopen.patch b/external/hunspell/hunspell-fdo48017-wfopen.patch
index e358106..37203be 100644
--- a/external/hunspell/hunspell-fdo48017-wfopen.patch
+++ b/external/hunspell/hunspell-fdo48017-wfopen.patch
@@ -13,7 +13,7 @@ diff -ru hunspell/src/hunspell/csutil.cxx build/hunspell/src/hunspell/csutil.cxx
  #ifdef OPENOFFICEORG
  #  include <unicode/uchar.h>
  #else
-@@ -46,6 +50,26 @@
+@@ -51,6 +51,26 @@
  static struct unicode_info2 * utf_tbl = NULL;
  static int utf_tbl_count = 0; // utf_tbl can be used by multiple Hunspell instances
  
@@ -24,11 +24,11 @@ diff -ru hunspell/src/hunspell/csutil.cxx build/hunspell/src/hunspell/csutil.cxx
 +        int len = MultiByteToWideChar(CP_UTF8, 0, path, -1, NULL, 0);
 +        wchar_t *buff = (wchar_t *) malloc(len * sizeof(wchar_t));
 +        wchar_t *buff2 = (wchar_t *) malloc(len * sizeof(wchar_t));
-+        MultiByteToWideChar(CP_UTF8, 0, path, -1, buff, len);
 +        FILE * f = NULL;
++        MultiByteToWideChar(CP_UTF8, 0, path, -1, buff, len);
 +        if (_wfullpath( buff2, buff, len ) != NULL) {
 +          f = _wfopen(buff2, (strcmp(mode, "r") == 0) ? L"r" : L"rb");
-+        } 
++        }
 +        free(buff);
 +        free(buff2);
 +        return f;
diff --git a/external/hyphen/hyphen-fdo48017-wfopen.patch b/external/hyphen/hyphen-fdo48017-wfopen.patch
index 4bcf633..815eeda 100644
--- a/external/hyphen/hyphen-fdo48017-wfopen.patch
+++ b/external/hyphen/hyphen-fdo48017-wfopen.patch
@@ -13,7 +13,7 @@ diff -u hyphen/hyphen.c build/hyphen/hyphen.c
  #define noVERBOSE
  
  /* calculate hyphenmin values with long ligature length (2 or 3 characters
-@@ -371,12 +376,28 @@
+@@ -371,12 +376,32 @@
  	    }
  }
  
@@ -23,10 +23,14 @@ diff -u hyphen/hyphen.c build/hyphen/hyphen.c
 +    if (strncmp(path, WIN32_LONG_PATH_PREFIX, 4) == 0) {
 +        int len = MultiByteToWideChar(CP_UTF8, 0, path, -1, NULL, 0);
 +        wchar_t *buff = (wchar_t *) malloc(len * sizeof(wchar_t));
-+        FILE * f;
++        wchar_t *buff2 = (wchar_t *) malloc(len * sizeof(wchar_t));
++        FILE * f = NULL;
 +        MultiByteToWideChar(CP_UTF8, 0, path, -1, buff, len);
-+        f = _wfopen(buff, (strcmp(mode, "r") == 0) ? L"r" : L"rb");
++        if (_wfullpath( buff2, buff, len ) != NULL) {
++          f = _wfopen(buff2, (strcmp(mode, "r") == 0) ? L"r" : L"rb");
++        }
 +        free(buff);
++        free(buff2);
 +        return f;
 +    }
 +#endif
diff --git a/external/mythes/mythes-fdo48017-wfopen.patch b/external/mythes/mythes-fdo48017-wfopen.patch
index 1621b1d..82d69ad 100644
--- a/external/mythes/mythes-fdo48017-wfopen.patch
+++ b/external/mythes/mythes-fdo48017-wfopen.patch
@@ -31,7 +31,7 @@ diff -u mythes/mythes.cxx build/mythes/mythes.cxx
      if (!pdfile) {
          return 0;
      } 
-@@ -370,3 +375,17 @@
+@@ -373,3 +378,22 @@
    return -1;
  }
  
@@ -41,9 +41,14 @@ diff -u mythes/mythes.cxx build/mythes/mythes.cxx
 +    if (strncmp(path, WIN32_LONG_PATH_PREFIX, 4) == 0) {
 +        int len = MultiByteToWideChar(CP_UTF8, 0, path, -1, NULL, 0);
 +        wchar_t *buff = (wchar_t *) malloc(len * sizeof(wchar_t));
++        wchar_t *buff2 = (wchar_t *) malloc(len * sizeof(wchar_t));
++        FILE * f = NULL;
 +        MultiByteToWideChar(CP_UTF8, 0, path, -1, buff, len);
-+        FILE * f = _wfopen(buff, (strcmp(mode, "r") == 0) ? L"r" : L"rb");
++        if (_wfullpath( buff2, buff, len ) != NULL) {
++          f = _wfopen(buff2, (strcmp(mode, "r") == 0) ? L"r" : L"rb");
++        }
 +        free(buff);
++        free(buff2);
 +        return f;
 +    }
 +#endif


More information about the Libreoffice-commits mailing list