diff --git a/src/dc_mimeparser.rs b/src/dc_mimeparser.rs index c47dea1f5..e8d28b1e3 100644 --- a/src/dc_mimeparser.rs +++ b/src/dc_mimeparser.rs @@ -176,7 +176,7 @@ pub unsafe fn dc_mimeparser_parse( &mut (*mimeparser).e2ee_helper, ); dc_mimeparser_parse_mime_recursive(mimeparser, (*mimeparser).mimeroot); - let field: *mut mailimf_field = dc_mimeparser_lookup_field_r(mimeparser, "Subject"); + let field: *mut mailimf_field = dc_mimeparser_lookup_field(mimeparser, "Subject"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_SUBJECT as libc::c_int { (*mimeparser).subject = dc_decode_header_words((*(*field).fld_data.fld_subject).sbj_value) @@ -189,7 +189,7 @@ pub unsafe fn dc_mimeparser_parse( { (*mimeparser).is_send_by_messenger = 1i32 } - if !dc_mimeparser_lookup_field_r(mimeparser, "Autocrypt-Setup-Message").is_null() { + if !dc_mimeparser_lookup_field(mimeparser, "Autocrypt-Setup-Message").is_null() { let mut i: libc::c_int; let mut has_setup_file: libc::c_int = 0i32; i = 0i32; @@ -230,7 +230,7 @@ pub unsafe fn dc_mimeparser_parse( } } } - if !dc_mimeparser_lookup_field_r(mimeparser, "Chat-Group-Image").is_null() + if !dc_mimeparser_lookup_field(mimeparser, "Chat-Group-Image").is_null() && carray_count((*mimeparser).parts) >= 1i32 as libc::c_uint { let textpart: *mut dc_mimepart_t = @@ -373,7 +373,7 @@ pub unsafe fn dc_mimeparser_parse( let dn_to_addr: *mut libc::c_char = mailimf_find_first_addr(mb_list); if !dn_to_addr.is_null() { let from_field: *mut mailimf_field = - dc_mimeparser_lookup_field_r(mimeparser, "From"); + dc_mimeparser_lookup_field(mimeparser, "From"); if !from_field.is_null() && (*from_field).fld_type == MAILIMF_FIELD_FROM as libc::c_int && !(*from_field).fld_data.fld_from.is_null() @@ -474,18 +474,8 @@ pub unsafe fn mailimf_find_first_addr(mb_list: *const mailimf_mailbox_list) -> * } /* the following functions can be used only after a call to dc_mimeparser_parse() */ -pub fn dc_mimeparser_lookup_field( - mimeparser: &dc_mimeparser_t, - field_name: *const libc::c_char, -) -> *mut mailimf_field { - mimeparser - .header - .get(as_str(field_name)) - .map(|v| *v) - .unwrap_or_else(|| std::ptr::null_mut()) -} -pub fn dc_mimeparser_lookup_field_r( +pub fn dc_mimeparser_lookup_field( mimeparser: &dc_mimeparser_t, field_name: &str, ) -> *mut mailimf_field { @@ -1624,7 +1614,7 @@ pub unsafe fn mailmime_transfer_decode( // TODO should return bool /rtn pub unsafe fn dc_mimeparser_is_mailinglist_message(mimeparser: &dc_mimeparser_t) -> libc::c_int { - if !dc_mimeparser_lookup_field_r(&mimeparser, "List-Id").is_null() { + if !dc_mimeparser_lookup_field(&mimeparser, "List-Id").is_null() { return 1i32; } let precedence: *mut mailimf_optional_field = dc_mimeparser_lookup_optional_field( diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 743cf0dae..fbc043779 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -88,14 +88,14 @@ pub unsafe fn dc_receive_imf( info!(context, 0, "No header.",); } else { /* Error - even adding an empty record won't help as we do not know the message ID */ - field = dc_mimeparser_lookup_field_r(&mut mime_parser, "Date"); + field = dc_mimeparser_lookup_field(&mut mime_parser, "Date"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_ORIG_DATE as libc::c_int { let orig_date: *mut mailimf_orig_date = (*field).fld_data.fld_orig_date; if !orig_date.is_null() { sent_timestamp = dc_timestamp_from_date((*orig_date).dt_date_time) } } - field = dc_mimeparser_lookup_field_r(&mime_parser, "From"); + field = dc_mimeparser_lookup_field(&mime_parser, "From"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_FROM as libc::c_int { let fld_from: *mut mailimf_from = (*field).fld_data.fld_from; if !fld_from.is_null() { @@ -120,7 +120,7 @@ pub unsafe fn dc_receive_imf( dc_array_unref(from_list); } } - field = dc_mimeparser_lookup_field_r(&mime_parser, "To"); + field = dc_mimeparser_lookup_field(&mime_parser, "To"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_TO as libc::c_int { let fld_to: *mut mailimf_to = (*field).fld_data.fld_to; if !fld_to.is_null() { @@ -140,7 +140,7 @@ pub unsafe fn dc_receive_imf( } } if !dc_mimeparser_get_last_nonmeta(&mime_parser).is_null() { - field = dc_mimeparser_lookup_field_r(&mime_parser, "Cc"); + field = dc_mimeparser_lookup_field(&mime_parser, "Cc"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_CC as libc::c_int { let fld_cc: *mut mailimf_cc = (*field).fld_data.fld_cc; if !fld_cc.is_null() { @@ -159,7 +159,7 @@ pub unsafe fn dc_receive_imf( ); } } - field = dc_mimeparser_lookup_field_r(&mime_parser, "Message-ID"); + field = dc_mimeparser_lookup_field(&mime_parser, "Message-ID"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_MESSAGE_ID as libc::c_int { let fld_message_id: *mut mailimf_message_id = (*field).fld_data.fld_message_id; if !fld_message_id.is_null() { @@ -234,8 +234,7 @@ pub unsafe fn dc_receive_imf( if 0 != incoming { state = if 0 != flags & 0x1 { 16 } else { 10 }; to_id = 1 as uint32_t; - if !dc_mimeparser_lookup_field_r(&mime_parser, "Secure-Join").is_null() - { + if !dc_mimeparser_lookup_field(&mime_parser, "Secure-Join").is_null() { msgrmsg = 1i32; chat_id = 0i32 as uint32_t; allow_creation = 1i32; @@ -440,7 +439,7 @@ pub unsafe fn dc_receive_imf( } } } - field = dc_mimeparser_lookup_field_r(&mime_parser, "In-Reply-To"); + field = dc_mimeparser_lookup_field(&mime_parser, "In-Reply-To"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_IN_REPLY_TO as libc::c_int { @@ -453,7 +452,7 @@ pub unsafe fn dc_receive_imf( ) } } - field = dc_mimeparser_lookup_field_r(&mime_parser, "References"); + field = dc_mimeparser_lookup_field(&mime_parser, "References"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_REFERENCES as libc::c_int { @@ -1000,7 +999,7 @@ unsafe fn create_or_lookup_group( grpid = dc_strdup((*optional_field).fld_value) } if grpid.is_null() { - field = dc_mimeparser_lookup_field_r(mime_parser, "Message-ID"); + field = dc_mimeparser_lookup_field(mime_parser, "Message-ID"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_MESSAGE_ID as libc::c_int { let fld_message_id: *mut mailimf_message_id = (*field).fld_data.fld_message_id; if !fld_message_id.is_null() { @@ -1008,7 +1007,7 @@ unsafe fn create_or_lookup_group( } } if grpid.is_null() { - field = dc_mimeparser_lookup_field_r(mime_parser, "In-Reply-To"); + field = dc_mimeparser_lookup_field(mime_parser, "In-Reply-To"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_IN_REPLY_TO as libc::c_int { let fld_in_reply_to: *mut mailimf_in_reply_to = (*field).fld_data.fld_in_reply_to; if !fld_in_reply_to.is_null() { @@ -1016,7 +1015,7 @@ unsafe fn create_or_lookup_group( } } if grpid.is_null() { - field = dc_mimeparser_lookup_field_r(mime_parser, "References"); + field = dc_mimeparser_lookup_field(mime_parser, "References"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_REFERENCES as libc::c_int { let fld_references: *mut mailimf_references = (*field).fld_data.fld_references; @@ -1182,7 +1181,7 @@ unsafe fn create_or_lookup_group( /*otherwise, a pending "quit" message may pop up*/ /*re-create explicitly left groups only if ourself is re-added*/ let mut create_verified: libc::c_int = 0i32; - if !dc_mimeparser_lookup_field_r(mime_parser, "Chat-Verified").is_null() { + if !dc_mimeparser_lookup_field(mime_parser, "Chat-Verified").is_null() { create_verified = 1i32; if 0 == check_verified_properties( context, @@ -1842,7 +1841,7 @@ unsafe fn dc_is_reply_to_known_message( } } let mut field: *mut mailimf_field; - field = dc_mimeparser_lookup_field_r(mime_parser, "In-Reply-To"); + field = dc_mimeparser_lookup_field(mime_parser, "In-Reply-To"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_IN_REPLY_TO as libc::c_int { let fld_in_reply_to: *mut mailimf_in_reply_to = (*field).fld_data.fld_in_reply_to; if !fld_in_reply_to.is_null() { @@ -1854,7 +1853,7 @@ unsafe fn dc_is_reply_to_known_message( } } } - field = dc_mimeparser_lookup_field_r(mime_parser, "References"); + field = dc_mimeparser_lookup_field(mime_parser, "References"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_REFERENCES as libc::c_int { let fld_references: *mut mailimf_references = (*field).fld_data.fld_references; if !fld_references.is_null() { @@ -1920,7 +1919,7 @@ unsafe fn dc_is_reply_to_messenger_message( - it is okay, if the referenced messages are moved to trash here - no check for the Chat-* headers (function is only called if it is no messenger message itself) */ let mut field: *mut mailimf_field; - field = dc_mimeparser_lookup_field_r(mime_parser, "In-Reply-To"); + field = dc_mimeparser_lookup_field(mime_parser, "In-Reply-To"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_IN_REPLY_TO as libc::c_int { let fld_in_reply_to: *mut mailimf_in_reply_to = (*field).fld_data.fld_in_reply_to; if !fld_in_reply_to.is_null() { @@ -1932,7 +1931,7 @@ unsafe fn dc_is_reply_to_messenger_message( } } } - field = dc_mimeparser_lookup_field_r(mime_parser, "References"); + field = dc_mimeparser_lookup_field(mime_parser, "References"); if !field.is_null() && (*field).fld_type == MAILIMF_FIELD_REFERENCES as libc::c_int { let fld_references: *mut mailimf_references = (*field).fld_data.fld_references; if !fld_references.is_null() { diff --git a/src/dc_securejoin.rs b/src/dc_securejoin.rs index 2158118e8..61dfffd05 100644 --- a/src/dc_securejoin.rs +++ b/src/dc_securejoin.rs @@ -932,7 +932,7 @@ unsafe fn lookup_field( key: *const libc::c_char, ) -> *const libc::c_char { let mut value: *const libc::c_char = 0 as *const libc::c_char; - let field: *mut mailimf_field = dc_mimeparser_lookup_field(mimeparser, key); + let field: *mut mailimf_field = dc_mimeparser_lookup_field(mimeparser, as_str(key)); if field.is_null() || (*field).fld_type != MAILIMF_FIELD_OPTIONAL_FIELD as libc::c_int || (*field).fld_data.fld_optional_field.is_null()