aboutsummaryrefslogtreecommitdiffstats
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
parent6db742e7e5e87914a1b13eb20102478b49de4964 (diff)
downloadstrongswan-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.h19
-rw-r--r--src/frontends/android/jni/libandroidbridge/charonservice.c23
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);
}