diff options
author | 2014-08-20 11:58:35 +0000 | |
---|---|---|
committer | 2014-08-16 04:15:21 +0000 | |
commit | cdc260b78ed8d73b9e425ac55f3b5f9dab8bf753 (patch) | |
tree | 041460167d99b1d3acfcabc4fde050e03ab678b7 | |
parent | 9107d8be3008177069fd1a613b8cde97409997e0 (diff) | |
parent | 9c9f2d06bcb80da64968c7a48907da241fa86f1f (diff) | |
download | latinime-cdc260b78ed8d73b9e425ac55f3b5f9dab8bf753.tar.gz latinime-cdc260b78ed8d73b9e425ac55f3b5f9dab8bf753.tar.xz latinime-cdc260b78ed8d73b9e425ac55f3b5f9dab8bf753.zip |
Merge "Fix TrieMap: Cannot create next level map of small value entry."
-rw-r--r-- | native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp | 2 | ||||
-rw-r--r-- | native/jni/tests/suggest/policyimpl/dictionary/utils/trie_map_test.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp index 944a59c52..39f417ebb 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/trie_map.cpp @@ -85,7 +85,7 @@ int TrieMap::getNextLevelBitmapEntryIndex(const int key, const int bitmapEntryIn if (!writeEntry(EMPTY_BITMAP_ENTRY, valueEntryIndex + 1)) { return INVALID_INDEX; } - if (!writeField1(valueEntryIndex | TERMINAL_LINK_FLAG, valueEntryIndex)) { + if (!writeField1(valueEntryIndex | TERMINAL_LINK_FLAG, terminalEntryIndex)) { return INVALID_INDEX; } return valueEntryIndex + 1; diff --git a/native/jni/tests/suggest/policyimpl/dictionary/utils/trie_map_test.cpp b/native/jni/tests/suggest/policyimpl/dictionary/utils/trie_map_test.cpp index 9904a3aa8..56b5aa985 100644 --- a/native/jni/tests/suggest/policyimpl/dictionary/utils/trie_map_test.cpp +++ b/native/jni/tests/suggest/policyimpl/dictionary/utils/trie_map_test.cpp @@ -40,6 +40,7 @@ TEST(TrieMapTest, TestSetAndGet) { trieMap.putRoot(11, 1000); EXPECT_EQ(1000ull, trieMap.getRoot(11).mValue); const int next = trieMap.getNextLevelBitmapEntryIndex(10); + EXPECT_EQ(1000ull, trieMap.getRoot(10).mValue); trieMap.put(9, 9, next); EXPECT_EQ(9ull, trieMap.get(9, next).mValue); EXPECT_FALSE(trieMap.get(11, next).mIsValid); |