diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-08-09 16:38:19 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-08-13 11:22:20 +0200 |
commit | 4308ce1cf72c18d069606823427cd93eca386ed5 (patch) | |
tree | 4e1e8cd574c3368093fef60a214ed86d8f1826f5 | |
parent | 6db742e7e5e87914a1b13eb20102478b49de4964 (diff) | |
download | strongswan-4308ce1cf72c18d069606823427cd93eca386ed5.tar.bz2 strongswan-4308ce1cf72c18d069606823427cd93eca386ed5.tar.xz |
Moved Java to C string conversion function to android_jni header file
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/android_jni.h | 19 | ||||
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/charonservice.c | 23 |
2 files changed, 23 insertions, 19 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_ @}*/ diff --git a/src/frontends/android/jni/libandroidbridge/charonservice.c b/src/frontends/android/jni/libandroidbridge/charonservice.c index 232033899..802e087ec 100644 --- a/src/frontends/android/jni/libandroidbridge/charonservice.c +++ b/src/frontends/android/jni/libandroidbridge/charonservice.c @@ -439,21 +439,6 @@ JNI_METHOD(CharonVpnService, deinitializeCharon, void) } /** - * Convert a Java string to a C string. Memory is allocated. - */ -static inline char *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; -} - -/** * Initiate SA */ JNI_METHOD(CharonVpnService, initiate, void, @@ -462,10 +447,10 @@ JNI_METHOD(CharonVpnService, initiate, void, { char *local_address, *gateway, *username, *password; - local_address = convert_jstring(env, jlocal_address); - gateway = convert_jstring(env, jgateway); - username = convert_jstring(env, jusername); - password = convert_jstring(env, jpassword); + local_address = androidjni_convert_jstring(env, jlocal_address); + gateway = androidjni_convert_jstring(env, jgateway); + username = androidjni_convert_jstring(env, jusername); + password = androidjni_convert_jstring(env, jpassword); initiate(local_address, gateway, username, password); } |