aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/utils/jni_data_utils.h
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-05-14 09:07:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-14 09:07:45 +0000
commit72d6061efbc025fbf5774aace80376a07b44bb7e (patch)
treebb4c6e331c1e257730fd66d529a12afb1f588f23 /native/jni/src/utils/jni_data_utils.h
parentae1c53beadd5e739b49f16e6c45747ca3b469766 (diff)
parentd2f7cd28aefb71f3f340f1a8572e5477e5f5dfb3 (diff)
downloadlatinime-72d6061efbc025fbf5774aace80376a07b44bb7e.tar.gz
latinime-72d6061efbc025fbf5774aace80376a07b44bb7e.tar.xz
latinime-72d6061efbc025fbf5774aace80376a07b44bb7e.zip
Merge "Use JniDataUtils::outputCodePoints() to output code points"
Diffstat (limited to 'native/jni/src/utils/jni_data_utils.h')
-rw-r--r--native/jni/src/utils/jni_data_utils.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/native/jni/src/utils/jni_data_utils.h b/native/jni/src/utils/jni_data_utils.h
index 2ce02dc05..0e393e315 100644
--- a/native/jni/src/utils/jni_data_utils.h
+++ b/native/jni/src/utils/jni_data_utils.h
@@ -65,6 +65,18 @@ class JniDataUtils {
return attributeMap;
}
+ static void outputCodePoints(JNIEnv *env, jintArray intArrayToOutputCodePoints, const int start,
+ const int maxLength, const int *const codePoints, const int codePointCount,
+ const bool needsNullTermination) {
+ const int outputCodePointCount = std::min(maxLength, codePointCount);
+ env->SetIntArrayRegion(intArrayToOutputCodePoints, start, outputCodePointCount, codePoints);
+ if (needsNullTermination && outputCodePointCount < maxLength) {
+ const int terminal = 0;
+ env->SetIntArrayRegion(intArrayToOutputCodePoints, start + outputCodePointCount,
+ 1 /* len */, &terminal);
+ }
+ }
+
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(JniDataUtils);
};