aboutsummaryrefslogtreecommitdiffstats
path: root/src/frontends/android/jni/libandroidbridge/android_jni.h
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-08-09 16:38:19 +0200
committerTobias Brunner <tobias@strongswan.org>2012-08-13 11:22:20 +0200
commit4308ce1cf72c18d069606823427cd93eca386ed5 (patch)
tree4e1e8cd574c3368093fef60a214ed86d8f1826f5 /src/frontends/android/jni/libandroidbridge/android_jni.h
parent6db742e7e5e87914a1b13eb20102478b49de4964 (diff)
downloadstrongswan-4308ce1cf72c18d069606823427cd93eca386ed5.tar.bz2
strongswan-4308ce1cf72c18d069606823427cd93eca386ed5.tar.xz
Moved Java to C string conversion function to android_jni header file
Diffstat (limited to 'src/frontends/android/jni/libandroidbridge/android_jni.h')
-rw-r--r--src/frontends/android/jni/libandroidbridge/android_jni.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/frontends/android/jni/libandroidbridge/android_jni.h b/src/frontends/android/jni/libandroidbridge/android_jni.h
index 39ba56fc1..774d37d7e 100644
--- a/src/frontends/android/jni/libandroidbridge/android_jni.h
+++ b/src/frontends/android/jni/libandroidbridge/android_jni.h
@@ -81,4 +81,23 @@ static inline bool androidjni_exception_occurred(JNIEnv *env)
return FALSE;
}
+/**
+ * Convert a Java string to a C string. Memory is allocated.
+ *
+ * @param env JNIEnv
+ * @param jstr Java string
+ * @return native C string (allocated)
+ */
+static inline char *androidjni_convert_jstring(JNIEnv *env, jstring jstr)
+{
+ char *str;
+ jsize len;
+
+ len = (*env)->GetStringUTFLength(env, jstr);
+ str = malloc(len + 1);
+ (*env)->GetStringUTFRegion(env, jstr, 0, len, str);
+ str[len] = '\0';
+ return str;
+}
+
#endif /** ANDROID_JNI_H_ @}*/