Fix a native crash
This was introduced by Ieb2e306a which failed to keep the return behavior in case the word doesn't have a bigram. Change-Id: I6d2f0b79d41c4335e94696690c8331e314961133main
parent
1277692519
commit
ee396df162
|
@ -109,6 +109,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i
|
||||||
|
|
||||||
const uint8_t* const root = DICT;
|
const uint8_t* const root = DICT;
|
||||||
int pos = getBigramListForWord(root, prevWord, prevWordLength);
|
int pos = getBigramListForWord(root, prevWord, prevWordLength);
|
||||||
|
// getBigramListForWord returns 0 if this word is not in the dictionary or has no bigrams
|
||||||
|
if (0 == pos) return 0;
|
||||||
int bigramFlags;
|
int bigramFlags;
|
||||||
int bigramCount = 0;
|
int bigramCount = 0;
|
||||||
do {
|
do {
|
||||||
|
@ -130,6 +132,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i
|
||||||
return bigramCount;
|
return bigramCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns a pointer to the start of the bigram list.
|
||||||
|
// If the word is not found or has no bigrams, this function returns 0.
|
||||||
int BigramDictionary::getBigramListForWord(const uint8_t* const root,
|
int BigramDictionary::getBigramListForWord(const uint8_t* const root,
|
||||||
const unsigned short *prevWord, const int prevWordLength) {
|
const unsigned short *prevWord, const int prevWordLength) {
|
||||||
int pos = BinaryFormat::getTerminalPosition(root, prevWord, prevWordLength);
|
int pos = BinaryFormat::getTerminalPosition(root, prevWord, prevWordLength);
|
||||||
|
|
Loading…
Reference in New Issue