1 Star 0 Fork 20

caodongxia/hunspell

forked from src-openEuler/hunspell 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Resolves-rhbz-2158548-allow-longer-words-for-hunspel.patch 2.78 KB
一键复制 编辑 原始数据 按行查看 历史
starlet_dx 提交于 2024-03-20 14:55 . Upgrade to 1.7.2
From e2fe9f86e1769b440972971240e9b8fb1cd53b97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@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 <caolanm@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
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/caodongxia/hunspell.git
git@gitee.com:caodongxia/hunspell.git
caodongxia
hunspell
hunspell
master

搜索帮助