diff --git a/src/dc_mimefactory.rs b/src/dc_mimefactory.rs index cf9e095a0..e15a3a5e9 100644 --- a/src/dc_mimefactory.rs +++ b/src/dc_mimefactory.rs @@ -148,7 +148,7 @@ pub unsafe fn dc_mimefactory_load_msg( for row in rows { let (authname, addr) = row?; let addr_c = addr.strdup(); - if clist_search_string_nocase(factory.recipients_addr, addr_c) == 0 { + if !clist_search_string_nocase(factory.recipients_addr, addr_c) { clist_insert_after( factory.recipients_names, (*factory.recipients_names).last, @@ -183,7 +183,7 @@ pub unsafe fn dc_mimefactory_load_msg( .unwrap_or_default(); if !email_to_remove.is_empty() && email_to_remove != self_addr { - if clist_search_string_nocase(factory.recipients_addr, email_to_remove_c) == 0 { + if !clist_search_string_nocase(factory.recipients_addr, email_to_remove_c) { clist_insert_after( factory.recipients_names, (*factory.recipients_names).last, diff --git a/src/dc_tools.rs b/src/dc_tools.rs index c2b0bc7ef..6fa6135e0 100644 --- a/src/dc_tools.rs +++ b/src/dc_tools.rs @@ -435,13 +435,10 @@ pub unsafe fn clist_free_content(haystack: *const clist) { pub unsafe fn clist_search_string_nocase( haystack: *const clist, needle: *const libc::c_char, -) -> libc::c_int { - for data in &*haystack { - if strcasecmp(data.cast(), needle) == 0 { - return 1; - } - } - 0 +) -> bool { + (&*haystack) + .into_iter() + .any(|data| strcasecmp(data.cast(), needle) == 0) } /* date/time tools */ diff --git a/src/job.rs b/src/job.rs index bacb73c1b..066e0eac4 100644 --- a/src/job.rs +++ b/src/job.rs @@ -692,9 +692,7 @@ pub unsafe fn job_send_msg(context: &Context, msg_id: uint32_t) -> libc::c_int { ); } else { /* unrecoverable */ - if clist_search_string_nocase(mimefactory.recipients_addr, mimefactory.from_addr) - == 0i32 - { + if !clist_search_string_nocase(mimefactory.recipients_addr, mimefactory.from_addr) { clist_insert_after( mimefactory.recipients_names, (*mimefactory.recipients_names).last,