(
obj: jobject,
jni_env: *mut JNIEnv,
)
| 531 | primitive_array_from_jobject!(boolean_array_from_jobject, bool, cache::get_jni_get_boolean_array_elements, cache::get_jni_release_boolean_array_elements); |
| 532 | |
| 533 | pub(crate) unsafe fn string_from_jobject( |
| 534 | obj: jobject, |
| 535 | jni_env: *mut JNIEnv, |
| 536 | ) -> errors::Result<String> { |
| 537 | if obj.is_null() { |
| 538 | Err(errors::J4RsError::JniError( |
| 539 | "Attempt to create a String from null".to_string(), |
| 540 | )) |
| 541 | } else { |
| 542 | let s = (opt_to_res(cache::get_jni_get_string_utf_chars())?)(jni_env, obj, ptr::null_mut()) |
| 543 | as *mut c_char; |
| 544 | let rust_string = utils::to_rust_string(s)?; |
| 545 | (opt_to_res(cache::get_jni_release_string_utf_chars())?)(jni_env, obj, s as *const c_char); |
| 546 | Ok(rust_string) |
| 547 | } |
| 548 | } |
| 549 | |
| 550 | pub unsafe fn jstring_to_rust_string(jvm: &Jvm, java_string: jstring) -> errors::Result<String> { |
| 551 | let s = (opt_to_res(cache::get_jni_get_string_utf_chars())?)( |
no test coverage detected