am 4afd8ff4: am 0874939e: am a8b838b4: Merge "Fix a test and crash with a better error message when reading"
* commit '4afd8ff474eb0e363a14393298b3f372ce813d1d': Fix a test and crash with a better error message when readingmain
commit
6877060b7b
|
@ -169,7 +169,8 @@ public class Ver3DictDecoder extends DictDecoder {
|
||||||
addressPointer += PtNodeReader.readBigramAddresses(mDictBuffer, bigrams,
|
addressPointer += PtNodeReader.readBigramAddresses(mDictBuffer, bigrams,
|
||||||
addressPointer);
|
addressPointer);
|
||||||
if (bigrams.size() >= FormatSpec.MAX_BIGRAMS_IN_A_PTNODE) {
|
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 {
|
} else {
|
||||||
bigrams = null;
|
bigrams = null;
|
||||||
|
|
|
@ -224,7 +224,8 @@ public class Ver4DictDecoder extends DictDecoder {
|
||||||
if (0 == (bigramFlags & FormatSpec.FLAG_BIGRAM_SHORTCUT_ATTR_HAS_NEXT)) break;
|
if (0 == (bigramFlags & FormatSpec.FLAG_BIGRAM_SHORTCUT_ATTR_HAS_NEXT)) break;
|
||||||
}
|
}
|
||||||
if (bigrams.size() >= FormatSpec.MAX_BIGRAMS_IN_A_PTNODE) {
|
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 {
|
} else {
|
||||||
bigrams = null;
|
bigrams = null;
|
||||||
|
|
|
@ -104,7 +104,9 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
sStarBigrams.put(0, new ArrayList<Integer>());
|
sStarBigrams.put(0, new ArrayList<Integer>());
|
||||||
for (int i = 1; i < sWords.size(); ++i) {
|
// MAX - 1 because we added one above already
|
||||||
|
final int maxBigrams = Math.min(sWords.size(), FormatSpec.MAX_BIGRAMS_IN_A_PTNODE - 1);
|
||||||
|
for (int i = 1; i < maxBigrams; ++i) {
|
||||||
sStarBigrams.get(0).add(i);
|
sStarBigrams.get(0).add(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue