diff --git a/native/jni/src/bigram_dictionary.cpp b/native/jni/src/bigram_dictionary.cpp index 44dc75e9c..ef0434c49 100644 --- a/native/jni/src/bigram_dictionary.cpp +++ b/native/jni/src/bigram_dictionary.cpp @@ -21,6 +21,7 @@ #include "bigram_dictionary.h" #include "binary_format.h" #include "bloom_filter.h" +#include "char_utils.h" #include "defines.h" #include "dictionary.h" @@ -50,7 +51,7 @@ void BigramDictionary::addWordBigram(int *word, int length, int frequency, int * int insertAt = 0; while (insertAt < MAX_RESULTS) { if (frequency > bigramFreq[insertAt] || (bigramFreq[insertAt] == frequency - && length < Dictionary::wideStrLen( + && length < getCodePointCount(MAX_WORD_LENGTH, bigramCodePoints + insertAt * MAX_WORD_LENGTH))) { break; } diff --git a/native/jni/src/dictionary.h b/native/jni/src/dictionary.h index 121cf058d..83676b204 100644 --- a/native/jni/src/dictionary.h +++ b/native/jni/src/dictionary.h @@ -65,10 +65,6 @@ class Dictionary { int getDictBufAdjust() const { return mDictBufAdjust; } virtual ~Dictionary(); - // public static utility methods - // static inline methods should be defined in the header file - static int wideStrLen(int *str); - private: DISALLOW_IMPLICIT_CONSTRUCTORS(Dictionary); const uint8_t *mDict; @@ -84,17 +80,5 @@ class Dictionary { const BigramDictionary *mBigramDictionary; SuggestInterface *mGestureSuggest; }; - -// public static utility methods -// static inline methods should be defined in the header file -inline int Dictionary::wideStrLen(int *str) { - if (!str) return 0; - int length = 0; - while (*str) { - str++; - length++; - } - return length; -} } // namespace latinime #endif // LATINIME_DICTIONARY_H