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:12:15 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-05-14 09:12:15 +0000
commit4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c (patch)
treebb4c6e331c1e257730fd66d529a12afb1f588f23 /native/jni/src/utils/jni_data_utils.h
parent2e661720dd748e692f5f3b8afc1c8a736f15ce88 (diff)
parent72d6061efbc025fbf5774aace80376a07b44bb7e (diff)
downloadlatinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.tar.gz
latinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.tar.xz
latinime-4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c.zip
am 72d6061e: Merge "Use JniDataUtils::outputCodePoints() to output code points"
* commit '72d6061efbc025fbf5774aace80376a07b44bb7e': 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);
};