diff options
author | Michal Cmarada <mcmarada@cisco.com> | 2019-01-04 13:29:25 +0100 |
---|---|---|
committer | Michal Cmarada <mcmarada@cisco.com> | 2019-01-04 13:29:25 +0100 |
commit | 6ebc6eb3d27e0abbc66dbb2548808e1a338f89b4 (patch) | |
tree | 2d5348da51e9a16099eb904efbae49845b99177a /extras/japi/java/jvpp-core/jvpp_core.h | |
parent | b56fcf14d8a8801b24d373f519b36df2b2879b72 (diff) |
VPP-1525: additional fixes for strings in Japi
Change-Id: Ic5aa09fdc360cdded16d3c4693f0d4b2067f66d6
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Diffstat (limited to 'extras/japi/java/jvpp-core/jvpp_core.h')
-rw-r--r-- | extras/japi/java/jvpp-core/jvpp_core.h | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/extras/japi/java/jvpp-core/jvpp_core.h b/extras/japi/java/jvpp-core/jvpp_core.h index bbf7a71fa31..032dd338ee0 100644 --- a/extras/japi/java/jvpp-core/jvpp_core.h +++ b/extras/japi/java/jvpp-core/jvpp_core.h @@ -28,21 +28,8 @@ // * u8 buf[0]; // * } __attribute__ ((packed)) vl_api_string_t; // */ -static void _host_to_net_string(JNIEnv * env, jstring javaString, vl_api_string_t * _net) -{ - const char *nativeString = (*env)->GetStringUTFChars(env, javaString, 0); - int len = strlen(nativeString); +static void _host_to_net_string(JNIEnv * env, jstring javaString, vl_api_string_t * vl_api_string); - vl_api_string_t * vl_api_string = (vl_api_string_t *)calloc(1, (sizeof(vl_api_string_t) + len * sizeof(u8))); - if (NULL == vl_api_string) - return; - - vl_api_string->length = len; - memcpy(vl_api_string->buf, nativeString, len); - - _net = vl_api_string; - (*env)->ReleaseStringUTFChars(env, javaString, nativeString); -} // // /** @@ -53,9 +40,11 @@ static void _host_to_net_string(JNIEnv * env, jstring javaString, vl_api_string_ // * u8 buf[0]; // * } __attribute__ ((packed)) vl_api_string_t; // */ -static jstring _net_to_host_string(JNIEnv * env, const vl_api_string_t * _net) -{ - jstring jstr = (*env)->NewStringUTF(env, (char *)_net->buf); +static jstring _net_to_host_string(JNIEnv * env, const vl_api_string_t * _net); + - return jstr; -} +// +// /** +// * Returns the length of jstring as size_t +// */ +static size_t jstr_length(JNIEnv *env, jstring string); |