aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/jni_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'native/jni/jni_common.h')
-rw-r--r--native/jni/jni_common.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/native/jni/jni_common.h b/native/jni/jni_common.h
index c502fa3a8..dbf6d3e19 100644
--- a/native/jni/jni_common.h
+++ b/native/jni/jni_common.h
@@ -18,13 +18,29 @@
#ifndef LATINIME_JNI_COMMON_H
#define LATINIME_JNI_COMMON_H
+#include <stdlib.h>
+
#include "jni.h"
namespace latinime {
-int registerNativeMethods(JNIEnv* env, const char* className, JNINativeMethod* methods,
+int registerNativeMethods(JNIEnv *env, const char *className, JNINativeMethod *methods,
int numMethods);
+inline jint *safeGetIntArrayElements(JNIEnv *env, jintArray jArray) {
+ if (jArray) {
+ return env->GetIntArrayElements(jArray, NULL);
+ } else {
+ return NULL;
+ }
+}
+
+inline void safeReleaseIntArrayElements(JNIEnv *env, jintArray jArray, jint *cArray) {
+ if (jArray) {
+ env->ReleaseIntArrayElements(jArray, cArray, 0);
+ }
+}
+
} // namespace latinime
#endif // LATINIME_JNI_COMMON_H