mirror of
https://github.com/chatmail/core.git
synced 2026-05-14 20:36:30 +03:00
outlk_autodiscover: store url as String
This commit is contained in:
@@ -29,7 +29,7 @@ pub unsafe fn outlk_autodiscover(
|
|||||||
param_in: &LoginParam,
|
param_in: &LoginParam,
|
||||||
) -> Option<LoginParam> {
|
) -> Option<LoginParam> {
|
||||||
let mut xml_raw: *mut libc::c_char = ptr::null_mut();
|
let mut xml_raw: *mut libc::c_char = ptr::null_mut();
|
||||||
let mut url = url__.strdup();
|
let mut url = url__.to_string();
|
||||||
let mut outlk_ad = outlk_autodiscover_t {
|
let mut outlk_ad = outlk_autodiscover_t {
|
||||||
in_0: param_in,
|
in_0: param_in,
|
||||||
out: LoginParam::new(),
|
out: LoginParam::new(),
|
||||||
@@ -47,12 +47,14 @@ pub unsafe fn outlk_autodiscover(
|
|||||||
ok_to_continue = true;
|
ok_to_continue = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
libc::memset(
|
libc::memset(
|
||||||
&mut outlk_ad as *mut outlk_autodiscover_t as *mut libc::c_void,
|
&mut outlk_ad as *mut outlk_autodiscover_t as *mut libc::c_void,
|
||||||
0,
|
0,
|
||||||
::std::mem::size_of::<outlk_autodiscover_t>(),
|
::std::mem::size_of::<outlk_autodiscover_t>(),
|
||||||
);
|
);
|
||||||
xml_raw = read_autoconf_file(context, as_str(url));
|
|
||||||
|
xml_raw = read_autoconf_file(context, &url);
|
||||||
if xml_raw.is_null() {
|
if xml_raw.is_null() {
|
||||||
ok_to_continue = false;
|
ok_to_continue = false;
|
||||||
break;
|
break;
|
||||||
@@ -96,8 +98,7 @@ pub unsafe fn outlk_autodiscover(
|
|||||||
ok_to_continue = true;
|
ok_to_continue = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
free(url as *mut libc::c_void);
|
url = as_str(outlk_ad.config[5usize]).to_string();
|
||||||
url = dc_strdup(outlk_ad.config[5usize]);
|
|
||||||
|
|
||||||
outlk_clean_config(&mut outlk_ad);
|
outlk_clean_config(&mut outlk_ad);
|
||||||
free(xml_raw as *mut libc::c_void);
|
free(xml_raw as *mut libc::c_void);
|
||||||
@@ -113,14 +114,12 @@ pub unsafe fn outlk_autodiscover(
|
|||||||
{
|
{
|
||||||
let r = outlk_ad.out.to_string();
|
let r = outlk_ad.out.to_string();
|
||||||
warn!(context, "Bad or incomplete autoconfig: {}", r,);
|
warn!(context, "Bad or incomplete autoconfig: {}", r,);
|
||||||
free(url as *mut libc::c_void);
|
|
||||||
free(xml_raw as *mut libc::c_void);
|
free(xml_raw as *mut libc::c_void);
|
||||||
outlk_clean_config(&mut outlk_ad);
|
outlk_clean_config(&mut outlk_ad);
|
||||||
|
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
free(url as *mut libc::c_void);
|
|
||||||
free(xml_raw as *mut libc::c_void);
|
free(xml_raw as *mut libc::c_void);
|
||||||
outlk_clean_config(&mut outlk_ad);
|
outlk_clean_config(&mut outlk_ad);
|
||||||
if out_null {
|
if out_null {
|
||||||
|
|||||||
Reference in New Issue
Block a user