Skip to content

Commit f29ae4e

Browse files
authored
Merge pull request #180 from bab2min/fix_length_error
Fix length error
2 parents 2dbd17a + 01d4d1e commit f29ae4e

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

Diff for: src/KTrie.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1060,7 +1060,7 @@ size_t kiwi::splitByTrie(
10601060
lastSpecialEndPos * posMultiplier, specialStartPos * posMultiplier,
10611061
str.substr(nonSpaces[lastSpecialEndPos], nonSpaces[specialStartPos] - nonSpaces[lastSpecialEndPos]));
10621062
}
1063-
if (appendNewNode(out, endPosMap,
1063+
if (specialStartPos < nonSpaces.size() && appendNewNode(out, endPosMap,
10641064
specialStartPos * posMultiplier, nonSpaces.size() * posMultiplier,
10651065
U16StringView{ &str[nonSpaces[specialStartPos]], n - nonSpaces[specialStartPos] }))
10661066
{

Diff for: test/test_cpp.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -1484,3 +1484,16 @@ TEST(KiwiCpp, NestedSentenceSplit)
14841484
EXPECT_EQ(ranges.size(), 1);
14851485
}
14861486
}
1487+
1488+
TEST(KiwiCpp, IssueP172_LengthError)
1489+
{
1490+
std::u16string text;
1491+
text += u"\n";
1492+
for (int i = 0; i < 4000; ++i)
1493+
{
1494+
text += u"좋은채팅사이트《35141561234.wang.com》";
1495+
}
1496+
Kiwi& kiwi = reuseKiwiInstance();
1497+
auto res = kiwi.analyze(text, Match::allWithNormalizing).first;
1498+
EXPECT_GT(res.size(), 0);
1499+
}

0 commit comments

Comments
 (0)