external/hunspell/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
 |   77 ++++++++++
 external/hunspell/UnpackedTarball_hunspell.mk                                  
   |    1 
 2 files changed, 78 insertions(+)

New commits:
commit 2a8660c6d36a2015c37c65b6bc21c6decd96cf8e
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 6 16:28:03 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat Jan 7 10:57:04 2023 +0000

    Related: rhbz#2158548 allow longer words for hunspell-ko
    
    https://github.com/hunspell/hunspell/issues/903
    
    A problem since the sanity check added in:
    
    commit 05e44e069e4cfaa9ce1264bf13f23fc9abd7ed05
    Author: Caolán McNamara <caol...@redhat.com>
    Date:   Thu Sep 1 13:46:40 2022 +0100
    
        Check word limit (#813)
    
        * check against hentry blen max
    
    Change-Id: Iab2c062584da076260c3262537690435eae7f396
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145154
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git 
a/external/hunspell/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
 
b/external/hunspell/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
new file mode 100644
index 000000000000..c0225fbd70a4
--- /dev/null
+++ 
b/external/hunspell/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
@@ -0,0 +1,77 @@
+From e2fe9f86e1769b440972971240e9b8fb1cd53b97 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caol...@redhat.com>
+Date: Fri, 6 Jan 2023 16:20:45 +0000
+Subject: [PATCH] Resolves: rhbz#2158548 allow longer words for hunspell-ko
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+https://github.com/hunspell/hunspell/issues/903
+
+A problem since the sanity check added in:
+
+commit 05e44e069e4cfaa9ce1264bf13f23fc9abd7ed05
+Author: Caolán McNamara <caol...@redhat.com>
+Date:   Thu Sep 1 13:46:40 2022 +0100
+
+    Check word limit (#813)
+
+    * check against hentry blen max
+---
+ src/hunspell/hashmgr.cxx | 6 +++---
+ src/hunspell/htypes.hxx  | 4 ++--
+ tests/korean.dic         | 3 ++-
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/hunspell/hashmgr.cxx b/src/hunspell/hashmgr.cxx
+index 100916d..14201e9 100644
+--- a/src/hunspell/hashmgr.cxx
++++ b/src/hunspell/hashmgr.cxx
+@@ -209,7 +209,7 @@ int HashMgr::add_word(const std::string& in_word,
+   }
+ 
+   // limit of hp->blen
+-  if (word->size() > std::numeric_limits<unsigned char>::max()) {
++  if (word->size() > std::numeric_limits<unsigned short>::max()) {
+     HUNSPELL_WARNING(stderr, "error: word len %ld is over max limit\n", 
word->size());
+     delete desc_copy;
+     delete word_copy;
+@@ -235,8 +235,8 @@ int HashMgr::add_word(const std::string& in_word,
+ 
+   int i = hash(hpw, word->size());
+ 
+-  hp->blen = (unsigned char)word->size();
+-  hp->clen = (unsigned char)wcl;
++  hp->blen = (unsigned short)word->size();
++  hp->clen = (unsigned short)wcl;
+   hp->alen = (short)al;
+   hp->astr = aff;
+   hp->next = NULL;
+diff --git a/src/hunspell/htypes.hxx b/src/hunspell/htypes.hxx
+index 44366b1..2b896fb 100644
+--- a/src/hunspell/htypes.hxx
++++ b/src/hunspell/htypes.hxx
+@@ -62,8 +62,8 @@
+ #endif
+ 
+ struct hentry {
+-  unsigned char blen;    // word length in bytes
+-  unsigned char clen;    // word length in characters (different for UTF-8 
enc.)
++  unsigned short blen;   // word length in bytes
++  unsigned short clen;   // word length in characters (different for UTF-8 
enc.)
+   short alen;            // length of affix flag vector
+   unsigned short* astr;  // affix flag vector
+   struct hentry* next;   // next word with same hash code
+diff --git a/tests/korean.dic b/tests/korean.dic
+index 95cb450..d76ea05 100644
+--- a/tests/korean.dic
++++ b/tests/korean.dic
+@@ -1,3 +1,4 @@
+-2
++3
+ 들어오세요
+ 안녕하세요
++김수한무거북이와두루미삼천갑자동방삭치치카포사리사리세ᅡ워리워리세브리캉무드셀ᅡ구름위허ᅵ케ᅵᆫᅦ담벼락서생원에ᄀ양
+-- 
+2.38.1
+
diff --git a/external/hunspell/UnpackedTarball_hunspell.mk 
b/external/hunspell/UnpackedTarball_hunspell.mk
index 2b8823021998..4667a3642bcc 100644
--- a/external/hunspell/UnpackedTarball_hunspell.mk
+++ b/external/hunspell/UnpackedTarball_hunspell.mk
@@ -23,6 +23,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,hunspell,1))
 
 $(eval $(call gb_UnpackedTarball_add_patches,hunspell, \
        
external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
 \
+       
external/hunspell/0001-Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch
 \
 ))
 
 # vim: set noet sw=4 ts=4:

Reply via email to