Merge "Fix: wrong bigram entry pos can be used during GC."

main
Keisuke Kuroyanagi 2014-07-09 03:08:16 +00:00 committed by Android (Google) Code Review
commit 7f14894f2f
2 changed files with 2 additions and 2 deletions

View File

@ -175,9 +175,9 @@ bool Ver4BigramListPolicy::updateAllBigramEntriesAndDeleteUselessEntries(const i
bool hasNext = true; bool hasNext = true;
int readingPos = bigramListPos; int readingPos = bigramListPos;
while (hasNext) { while (hasNext) {
const int entryPos = readingPos;
const BigramEntry bigramEntry = const BigramEntry bigramEntry =
mBigramDictContent->getBigramEntryAndAdvancePosition(&readingPos); mBigramDictContent->getBigramEntryAndAdvancePosition(&readingPos);
const int entryPos = readingPos - mBigramDictContent->getBigramEntrySize();
hasNext = bigramEntry.hasNext(); hasNext = bigramEntry.hasNext();
if (!bigramEntry.isValid()) { if (!bigramEntry.isValid()) {
continue; continue;

View File

@ -242,9 +242,9 @@ bool Ver4PatriciaTrieWritingHelper::truncateBigrams(const int maxBigramCount) {
bool hasNext = true; bool hasNext = true;
int readingPos = bigramListPos; int readingPos = bigramListPos;
while (hasNext) { while (hasNext) {
const int entryPos = readingPos;
const BigramEntry bigramEntry = const BigramEntry bigramEntry =
bigramDictContent->getBigramEntryAndAdvancePosition(&readingPos); bigramDictContent->getBigramEntryAndAdvancePosition(&readingPos);
const int entryPos = readingPos - bigramDictContent->getBigramEntrySize();
hasNext = bigramEntry.hasNext(); hasNext = bigramEntry.hasNext();
if (!bigramEntry.isValid()) { if (!bigramEntry.isValid()) {
continue; continue;