diff --git a/src/aheader.rs b/src/aheader.rs index 20a2daa2c..eb77331de 100644 --- a/src/aheader.rs +++ b/src/aheader.rs @@ -7,7 +7,6 @@ use mmime::mailimf_types::*; use crate::constants::*; use crate::contact::*; -use crate::dc_tools::as_str; use crate::key::*; /// Possible values for encryption preference @@ -64,11 +63,8 @@ impl Aheader { } } - pub fn from_imffields( - wanted_from: *const libc::c_char, - header: *const mailimf_fields, - ) -> Option { - if wanted_from.is_null() || header.is_null() { + pub fn from_imffields(wanted_from: &str, header: *const mailimf_fields) -> Option { + if header.is_null() { return None; } @@ -94,7 +90,7 @@ impl Aheader { match Self::from_str(value) { Ok(test) => { - if addr_cmp(&test.addr, as_str(wanted_from)) { + if addr_cmp(&test.addr, wanted_from) { if fine_header.is_none() { fine_header = Some(test); } else { diff --git a/src/e2ee.rs b/src/e2ee.rs index 4204d929a..8622957c1 100644 --- a/src/e2ee.rs +++ b/src/e2ee.rs @@ -408,7 +408,8 @@ impl E2eeHelper { } } let mut peerstate = None; - let autocryptheader = Aheader::from_imffields(from, imffields); + let autocryptheader = + as_opt_str(from).and_then(|from| Aheader::from_imffields(from, imffields)); if message_time > 0 && !from.is_null() { peerstate = Peerstate::from_addr(context, &context.sql, as_str(from));