diff options
author | 2013-11-21 15:52:16 +0900 | |
---|---|---|
committer | 2013-11-21 08:45:51 +0000 | |
commit | db4f3730047c8a3e25e031aacc07bb02bc47c5ae (patch) | |
tree | 2e6340b345139505654c647698ac74c6b2253453 /java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java | |
parent | b4cc0ae075d6e392e3029d3a73a898a312213752 (diff) | |
download | latinime-db4f3730047c8a3e25e031aacc07bb02bc47c5ae.tar.gz latinime-db4f3730047c8a3e25e031aacc07bb02bc47c5ae.tar.xz latinime-db4f3730047c8a3e25e031aacc07bb02bc47c5ae.zip |
Fix: PtNode array size writirng when array size > 127. DO NOT MERGE.
This is a manual cherrypick of Ib729ceedbc8ef837e50490439817b36039ae2b4e.
Bug: 11772864
Change-Id: I5ecbe729dbdd24e194e48b4d68b17af8549c4726
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java index 5d5ab0462..8d5b48a9b 100644 --- a/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java +++ b/java/src/com/android/inputmethod/latin/makedict/Ver4DictEncoder.java @@ -354,7 +354,9 @@ public class Ver4DictEncoder implements DictEncoder { if (countSize != 1 && countSize != 2) { throw new RuntimeException("Strange size from getPtNodeCountSize : " + countSize); } - mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, ptNodeCount, + final int encodedPtNodeCount = (countSize == 2) ? + (ptNodeCount | FormatSpec.LARGE_PTNODE_ARRAY_SIZE_FIELD_SIZE_FLAG) : ptNodeCount; + mTriePos = BinaryDictEncoderUtils.writeUIntToBuffer(mTrieBuf, mTriePos, encodedPtNodeCount, countSize); } |