diff options
author | 2014-05-14 09:12:15 +0000 | |
---|---|---|
committer | 2014-05-14 09:12:15 +0000 | |
commit | 4d3253326e4dbb46cc819e25ca6e2b0e153a5c0c (patch) | |
tree | bb4c6e331c1e257730fd66d529a12afb1f588f23 /native/jni/src/utils/jni_data_utils.h | |
parent | 2e661720dd748e692f5f3b8afc1c8a736f15ce88 (diff) | |
parent | 72d6061efbc025fbf5774aace80376a07b44bb7e (diff) | |
download | latinime-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.h | 12 |
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); }; |