get rid of c version of dc_mimeparser_lookup_field completely

This commit is contained in:
holger krekel
2019-07-10 11:32:50 +02:00
parent d67dd9cc33
commit e3fb0a23c6
3 changed files with 23 additions and 34 deletions

View File

@@ -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(

View File

@@ -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() {

View File

@@ -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()