File tree 2 files changed +14
-1
lines changed
2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -1060,7 +1060,7 @@ size_t kiwi::splitByTrie(
1060
1060
lastSpecialEndPos * posMultiplier, specialStartPos * posMultiplier,
1061
1061
str.substr (nonSpaces[lastSpecialEndPos], nonSpaces[specialStartPos] - nonSpaces[lastSpecialEndPos]));
1062
1062
}
1063
- if (appendNewNode (out, endPosMap,
1063
+ if (specialStartPos < nonSpaces. size () && appendNewNode (out, endPosMap,
1064
1064
specialStartPos * posMultiplier, nonSpaces.size () * posMultiplier,
1065
1065
U16StringView{ &str[nonSpaces[specialStartPos]], n - nonSpaces[specialStartPos] }))
1066
1066
{
Original file line number Diff line number Diff line change @@ -1484,3 +1484,16 @@ TEST(KiwiCpp, NestedSentenceSplit)
1484
1484
EXPECT_EQ (ranges.size (), 1 );
1485
1485
}
1486
1486
}
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
+ }
You can’t perform that action at this time.
0 commit comments