diff options
author | 2014-05-14 17:42:47 +0900 | |
---|---|---|
committer | 2014-05-14 17:42:47 +0900 | |
commit | d2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3 (patch) | |
tree | df9d2a749eb114922cfbbecdee7a08000c427a3c /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | |
parent | c1e86d3f491e65ae11b9dc8d932c3775c50394e4 (diff) | |
download | latinime-d2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3.tar.gz latinime-d2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3.tar.xz latinime-d2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3.zip |
Use JniDataUtils::outputCodePoints() to output code points
Bug: 14119293
Bug: 13758761
Change-Id: I516d2f96e219e6e65246f502186ccb9bd5f0670f
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r-- | native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp index a55b2da96..9098b714b 100644 --- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp +++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp @@ -149,14 +149,16 @@ static void latinime_BinaryDictionary_getHeaderInfo(JNIEnv *env, jclass clazz, j it != attributeMap->end(); ++it) { // Output key jintArray keyCodePointArray = env->NewIntArray(it->first.size()); - env->SetIntArrayRegion( - keyCodePointArray, 0 /* start */, it->first.size(), &it->first.at(0)); + JniDataUtils::outputCodePoints(env, keyCodePointArray, 0 /* start */, + it->first.size(), it->first.data(), it->first.size(), + false /* needsNullTermination */); env->CallBooleanMethod(outAttributeKeys, addMethodId, keyCodePointArray); env->DeleteLocalRef(keyCodePointArray); // Output value jintArray valueCodePointArray = env->NewIntArray(it->second.size()); - env->SetIntArrayRegion( - valueCodePointArray, 0 /* start */, it->second.size(), &it->second.at(0)); + JniDataUtils::outputCodePoints(env, valueCodePointArray, 0 /* start */, + it->second.size(), it->second.data(), it->second.size(), + false /* needsNullTermination */); env->CallBooleanMethod(outAttributeValues, addMethodId, valueCodePointArray); env->DeleteLocalRef(valueCodePointArray); } @@ -301,6 +303,9 @@ static jint latinime_BinaryDictionary_getNextWord(JNIEnv *env, jclass clazz, memset(wordCodePoints, 0, sizeof(wordCodePoints)); const int nextToken = dictionary->getNextWordAndNextToken(token, wordCodePoints); env->SetIntArrayRegion(outCodePoints, 0, outCodePointsLength, wordCodePoints); + JniDataUtils::outputCodePoints(env, outCodePoints, 0 /* start */, + MAX_WORD_LENGTH /* maxLength */, wordCodePoints, outCodePointsLength, + false /* needsNullTermination */); return nextToken; } |