aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-10-01 22:00:03 +0900
committerJean Chalard <jchalard@google.com>2013-10-02 11:48:47 +0900
commitfa946d4a0f6329134ddbae9a3ce03f6d4009019b (patch)
treec270309fb3e451a228de9065861268f471b19a5b /java/src
parent74577bedb3bb0dabd0e661270f9da0c11c4b0f46 (diff)
downloadlatinime-fa946d4a0f6329134ddbae9a3ce03f6d4009019b.tar.gz
latinime-fa946d4a0f6329134ddbae9a3ce03f6d4009019b.tar.xz
latinime-fa946d4a0f6329134ddbae9a3ce03f6d4009019b.zip
Fix a test and crash with a better error message when reading
When there are too many bigrams, we stop reading the file, so the file pointer is in an inconsistent place. This means we have no idea what's going to happen next. It's better to crash right away. Change-Id: Id3b7b78cbe4fda3493b3c9c46758763e1ab5f6a3
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java3
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java3
2 files changed, 4 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
index 75d1058ad..bf5a28d62 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
@@ -169,7 +169,8 @@ public class Ver3DictDecoder extends DictDecoder {
addressPointer += PtNodeReader.readBigramAddresses(mDictBuffer, bigrams,
addressPointer);
if (bigrams.size() >= FormatSpec.MAX_BIGRAMS_IN_A_PTNODE) {
- MakedictLog.d("too many bigrams in a PtNode.");
+ throw new RuntimeException("Too many bigrams in a PtNode (" + bigrams.size()
+ + " but max is " + FormatSpec.MAX_BIGRAMS_IN_A_PTNODE + ")");
}
} else {
bigrams = null;
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
index fa19e2677..89370f0dc 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver4DictDecoder.java
@@ -224,7 +224,8 @@ public class Ver4DictDecoder extends DictDecoder {
if (0 == (bigramFlags & FormatSpec.FLAG_BIGRAM_SHORTCUT_ATTR_HAS_NEXT)) break;
}
if (bigrams.size() >= FormatSpec.MAX_BIGRAMS_IN_A_PTNODE) {
- MakedictLog.d("too many bigrams in a node.");
+ throw new RuntimeException("Too many bigrams in a PtNode (" + bigrams.size()
+ + " but max is " + FormatSpec.MAX_BIGRAMS_IN_A_PTNODE + ")");
}
} else {
bigrams = null;