|
|
|
@ -35,7 +35,7 @@ pub unsafe extern "C" fn Java_com_github_shadowsocks_bg_Tun2proxy_run( |
|
|
|
.with_filter(filter), |
|
|
|
); |
|
|
|
let proxy_url = get_java_string(&mut env, &proxy_url).unwrap(); |
|
|
|
let proxy = ArgProxy::try_from(proxy_url).unwrap(); |
|
|
|
let proxy = ArgProxy::try_from(proxy_url.as_str()).unwrap(); |
|
|
|
|
|
|
|
let mut args = Args::default(); |
|
|
|
args.proxy(proxy).tun_fd(Some(tun_fd)).dns(dns).verbosity(verbosity); |
|
|
|
@ -50,8 +50,6 @@ pub unsafe extern "C" fn Java_com_github_shadowsocks_bg_Tun2proxy_stop(_env: JNI |
|
|
|
crate::mobile_api::mobile_stop() |
|
|
|
} |
|
|
|
|
|
|
|
unsafe fn get_java_string<'a>(env: &'a mut JNIEnv, string: &'a JString) -> Result<&'a str, Error> { |
|
|
|
let str_ptr = env.get_string(string)?.as_ptr(); |
|
|
|
let s: &str = std::ffi::CStr::from_ptr(str_ptr).to_str()?; |
|
|
|
Ok(s) |
|
|
|
fn get_java_string(env: &mut JNIEnv, string: &JString) -> Result<String, Error> { |
|
|
|
Ok(env.get_string(string)?.into()) |
|
|
|
} |
|
|
|
|