aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2013-12-16 13:57:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-12-16 13:57:55 +0000
commit214a3b741f0b4e7845e6feb410e8c84611932717 (patch)
treed346b75255c83eae98d599a8661c1f0669940f7d /java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java
parent27ad01947affc8797bb759354ec705f96f17ca90 (diff)
parent56e7e38d372c726724c80246e6187dc1241ecfea (diff)
downloadlatinime-214a3b741f0b4e7845e6feb410e8c84611932717.tar.gz
latinime-214a3b741f0b4e7845e6feb410e8c84611932717.tar.xz
latinime-214a3b741f0b4e7845e6feb410e8c84611932717.zip
Merge "Fix: incompatible PtNode array size reading."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java
index 7f0aa777f..acabea10d 100644
--- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java
+++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderUtils.java
@@ -436,7 +436,7 @@ public final class BinaryDictDecoderUtils {
final FormatOptions options) {
dictDecoder.setPosition(headerSize);
final int count = dictDecoder.readPtNodeCount();
- int groupPos = headerSize + BinaryDictIOUtils.getPtNodeCountSize(count);
+ int groupPos = dictDecoder.getPosition();
final StringBuilder builder = new StringBuilder();
WeightedString result = null;
@@ -498,9 +498,9 @@ public final class BinaryDictDecoderUtils {
do { // Scan the linked-list node.
final int nodeArrayHeadPos = dictDecoder.getPosition();
final int count = dictDecoder.readPtNodeCount();
- int groupOffsetPos = nodeArrayHeadPos + BinaryDictIOUtils.getPtNodeCountSize(count);
+ int groupPos = dictDecoder.getPosition();
for (int i = count; i > 0; --i) { // Scan the array of PtNode.
- PtNodeInfo info = dictDecoder.readPtNode(groupOffsetPos, options);
+ PtNodeInfo info = dictDecoder.readPtNode(groupPos, options);
if (BinaryDictIOUtils.isMovedPtNode(info.mFlags, options)) continue;
ArrayList<WeightedString> shortcutTargets = info.mShortcutTargets;
ArrayList<WeightedString> bigrams = null;
@@ -536,7 +536,7 @@ public final class BinaryDictDecoderUtils {
0 != (info.mFlags & FormatSpec.FLAG_IS_NOT_A_WORD),
0 != (info.mFlags & FormatSpec.FLAG_IS_BLACKLISTED)));
}
- groupOffsetPos = info.mEndAddress;
+ groupPos = info.mEndAddress;
}
// reach the end of the array.