start reworking context references and smtp, imap

This commit is contained in:
dignifiedquire
2019-05-01 11:38:51 +02:00
parent 3e971d81d4
commit 72e9fe6150
33 changed files with 1228 additions and 1303 deletions

View File

@@ -57,7 +57,7 @@ use num_traits::FromPrimitive;
*/
#[no_mangle]
pub unsafe extern "C" fn dc_reset_tables(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut bits: libc::c_int,
) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
@@ -152,7 +152,7 @@ pub unsafe extern "C" fn dc_reset_tables(
* database. With this cleanup, they are also removed, as well as all
* auto-added contacts, unless they are used in a chat or for blocking purpose.
*/
unsafe extern "C" fn dc_cleanup_contacts(mut context: *mut dc_context_t) -> libc::c_int {
unsafe extern "C" fn dc_cleanup_contacts(mut context: &dc_context_t) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32;
}
@@ -167,7 +167,7 @@ unsafe extern "C" fn dc_cleanup_contacts(mut context: *mut dc_context_t) -> libc
return 1i32;
}
unsafe extern "C" fn dc_poke_eml_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut filename: *const libc::c_char,
) -> libc::c_int {
/* mainly for testing, may be called by dc_import_spec() */
@@ -198,7 +198,7 @@ unsafe extern "C" fn dc_poke_eml_file(
return success;
}
unsafe extern "C" fn poke_public_key(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut public_key_file: *const libc::c_char,
) -> libc::c_int {
@@ -245,7 +245,7 @@ unsafe extern "C" fn poke_public_key(
* @return 1=success, 0=error.
*/
unsafe extern "C" fn poke_spec(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut spec: *const libc::c_char,
) -> libc::c_int {
let mut current_block: u64;
@@ -403,7 +403,7 @@ unsafe extern "C" fn poke_spec(
return success;
}
unsafe extern "C" fn log_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut prefix: *const libc::c_char,
mut msg: *mut dc_msg_t,
) {
@@ -466,7 +466,7 @@ unsafe extern "C" fn log_msg(
free(contact_name as *mut libc::c_void);
dc_contact_unref(contact);
}
unsafe extern "C" fn log_msglist(mut context: *mut dc_context_t, mut msglist: *mut dc_array_t) {
unsafe extern "C" fn log_msglist(mut context: &dc_context_t, mut msglist: *mut dc_array_t) {
let mut i: libc::c_int = 0;
let mut cnt: libc::c_int = dc_array_get_cnt(msglist) as libc::c_int;
let mut lines_out: libc::c_int = 0i32;
@@ -500,10 +500,7 @@ unsafe extern "C" fn log_msglist(mut context: *mut dc_context_t, mut msglist: *m
);
};
}
unsafe extern "C" fn log_contactlist(
mut context: *mut dc_context_t,
mut contacts: *mut dc_array_t,
) {
unsafe extern "C" fn log_contactlist(mut context: &dc_context_t, mut contacts: *mut dc_array_t) {
let mut contact: *mut dc_contact_t = 0 as *mut dc_contact_t;
let mut peerstate: *mut dc_apeerstate_t = dc_apeerstate_new(context);
if 0 == dc_array_search_id(contacts, 1i32 as uint32_t, 0 as *mut size_t) {
@@ -604,7 +601,7 @@ pub unsafe extern "C" fn dc_cmdline(
mut context: *mut dc_context_t,
cmdline: &str,
) -> *mut libc::c_char {
let mut cmd: *mut libc::c_char = 0 as *mut libc::c_char;
let mut cmd: &libc::c_char = 0 as *mut libc::c_char;
let mut arg1: *mut libc::c_char = 0 as *mut libc::c_char;
let mut ret: *mut libc::c_char = 1i32 as *mut libc::c_char;
let mut sel_chat: *mut dc_chat_t = 0 as *mut dc_chat_t;

View File

@@ -81,7 +81,7 @@ use self::stress::*;
static mut s_do_log_info: libc::c_int = 1i32;
unsafe extern "C" fn receive_event(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut event: Event,
mut data1: uintptr_t,
mut data2: uintptr_t,
@@ -276,7 +276,7 @@ static mut run_threads: libc::c_int = 0i32;
unsafe extern "C" fn inbox_thread_entry_point(
mut entry_arg: *mut libc::c_void,
) -> *mut libc::c_void {
let mut context: *mut dc_context_t = entry_arg as *mut dc_context_t;
let mut context: &dc_context_t = entry_arg as *mut dc_context_t;
while 0 != run_threads {
dc_perform_imap_jobs(context);
dc_perform_imap_fetch(context);
@@ -290,7 +290,7 @@ static mut mvbox_thread: pthread_t = 0 as pthread_t;
unsafe extern "C" fn mvbox_thread_entry_point(
mut entry_arg: *mut libc::c_void,
) -> *mut libc::c_void {
let mut context: *mut dc_context_t = entry_arg as *mut dc_context_t;
let mut context: &dc_context_t = entry_arg as *mut dc_context_t;
while 0 != run_threads {
dc_perform_mvbox_fetch(context);
if 0 != run_threads {
@@ -303,7 +303,7 @@ static mut sentbox_thread: pthread_t = 0 as pthread_t;
unsafe extern "C" fn sentbox_thread_entry_point(
mut entry_arg: *mut libc::c_void,
) -> *mut libc::c_void {
let mut context: *mut dc_context_t = entry_arg as *mut dc_context_t;
let mut context: &dc_context_t = entry_arg as *mut dc_context_t;
while 0 != run_threads {
dc_perform_sentbox_fetch(context);
if 0 != run_threads {
@@ -316,7 +316,7 @@ static mut smtp_thread: pthread_t = 0 as pthread_t;
unsafe extern "C" fn smtp_thread_entry_point(
mut entry_arg: *mut libc::c_void,
) -> *mut libc::c_void {
let mut context: *mut dc_context_t = entry_arg as *mut dc_context_t;
let mut context: &dc_context_t = entry_arg as *mut dc_context_t;
while 0 != run_threads {
dc_perform_smtp_jobs(context);
if 0 != run_threads {
@@ -325,7 +325,7 @@ unsafe extern "C" fn smtp_thread_entry_point(
}
return 0 as *mut libc::c_void;
}
unsafe extern "C" fn start_threads(mut context: *mut dc_context_t) {
unsafe extern "C" fn start_threads(mut context: &dc_context_t) {
run_threads = 1i32;
if inbox_thread == 0 {
pthread_create(
@@ -360,7 +360,7 @@ unsafe extern "C" fn start_threads(mut context: *mut dc_context_t) {
);
};
}
unsafe extern "C" fn stop_threads(mut context: *mut dc_context_t) {
unsafe extern "C" fn stop_threads(mut context: &dc_context_t) {
run_threads = 0i32;
dc_interrupt_imap_idle(context);
dc_interrupt_mvbox_idle(context);
@@ -390,7 +390,7 @@ fn read_cmd() -> String {
#[cfg(not(target_os = "android"))]
unsafe fn main_0(mut argc: libc::c_int, mut argv: *mut *mut libc::c_char) -> libc::c_int {
let mut cmd: *mut libc::c_char = 0 as *mut libc::c_char;
let mut context: *mut dc_context_t = dc_context_new(
let mut context: &dc_context_t = dc_context_new(
receive_event,
0 as *mut libc::c_void,
b"CLI\x00" as *const u8 as *const libc::c_char,
@@ -534,7 +534,7 @@ unsafe fn main_0(mut argc: libc::c_int, mut argv: *mut *mut libc::c_char) -> lib
stop_threads(context);
dc_close(context);
dc_context_unref(context);
context = 0 as *mut dc_context_t;
context = 0 as &dc_context_t;
return 0i32;
}

File diff suppressed because one or more lines are too long

View File

@@ -16,7 +16,7 @@ use deltachat::dc_job::{
};
use deltachat::dc_lot::*;
extern "C" fn cb(_ctx: *mut dc_context_t, event: Event, data1: usize, data2: usize) -> usize {
extern "C" fn cb(_ctx: &dc_context_t, event: Event, data1: usize, data2: usize) -> usize {
println!("[{:?}]", event);
match event {

View File

@@ -18,7 +18,7 @@ use crate::x::*;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct dc_apeerstate_t {
pub context: *mut dc_context_t,
pub context: &dc_context_t,
pub addr: *mut libc::c_char,
pub last_seen: time_t,
pub last_seen_autocrypt: time_t,
@@ -35,7 +35,7 @@ pub struct dc_apeerstate_t {
}
/* the returned pointer is ref'd and must be unref'd after usage */
pub unsafe fn dc_apeerstate_new(mut context: *mut dc_context_t) -> *mut dc_apeerstate_t {
pub unsafe fn dc_apeerstate_new(mut context: &dc_context_t) -> *mut dc_apeerstate_t {
let mut peerstate: *mut dc_apeerstate_t = 0 as *mut dc_apeerstate_t;
peerstate = calloc(1, ::std::mem::size_of::<dc_apeerstate_t>()) as *mut dc_apeerstate_t;
if peerstate.is_null() {

View File

@@ -10,7 +10,6 @@ use crate::x::*;
#[repr(C)]
pub struct dc_array_t {
pub magic: uint32_t,
pub context: *mut dc_context_t,
pub allocated: size_t,
pub count: size_t,
pub type_0: libc::c_int,
@@ -262,24 +261,20 @@ pub unsafe fn dc_array_get_raw(mut array: *const dc_array_t) -> *const uintptr_t
}
return (*array).array;
}
pub unsafe fn dc_array_new(
mut context: *mut dc_context_t,
mut initsize: size_t,
) -> *mut dc_array_t {
return dc_array_new_typed(context, 0i32, initsize);
pub unsafe fn dc_array_new(initsize: size_t) -> *mut dc_array_t {
dc_array_new_typed(0, initsize)
}
pub unsafe extern "C" fn dc_array_new_typed(
mut context: *mut dc_context_t,
mut type_0: libc::c_int,
mut initsize: size_t,
) -> *mut dc_array_t {
) -> &dc_array_t {
let mut array: *mut dc_array_t = 0 as *mut dc_array_t;
array = calloc(1, ::std::mem::size_of::<dc_array_t>()) as *mut dc_array_t;
if array.is_null() {
exit(47i32);
}
(*array).magic = 0xa11aai32 as uint32_t;
(*array).context = context;
(*array).count = 0i32 as size_t;
(*array).allocated = if initsize < 1 { 1 } else { initsize };
(*array).type_0 = type_0;
@@ -304,7 +299,7 @@ pub unsafe fn dc_array_duplicate(mut array: *const dc_array_t) -> *mut dc_array_
if array.is_null() || (*array).magic != 0xa11aai32 as libc::c_uint {
return 0 as *mut dc_array_t;
}
ret = dc_array_new((*array).context, (*array).allocated);
ret = dc_array_new((*array).allocated);
(*ret).count = (*array).count;
memcpy(
(*ret).array as *mut libc::c_void,

View File

@@ -35,7 +35,7 @@ pub struct dc_chat_t {
// handle chats
pub unsafe fn dc_create_chat_by_msg_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_id: uint32_t,
) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as uint32_t;
@@ -82,7 +82,7 @@ pub unsafe fn dc_create_chat_by_msg_id(
// only an indicator in a chatlist
// only an indicator in a chatlist
// larger chat IDs are "real" chats, their messages are "real" messages.
pub unsafe fn dc_chat_new(mut context: *mut dc_context_t) -> *mut dc_chat_t {
pub unsafe fn dc_chat_new(mut context: &dc_context_t) -> *mut dc_chat_t {
let mut chat: *mut dc_chat_t = 0 as *mut dc_chat_t;
if context.is_null() || {
chat = calloc(1, ::std::mem::size_of::<dc_chat_t>()) as *mut dc_chat_t;
@@ -119,11 +119,11 @@ pub unsafe fn dc_chat_empty(mut chat: *mut dc_chat_t) {
(*chat).gossiped_timestamp = 0i32 as time_t;
dc_param_set_packed((*chat).param, 0 as *const libc::c_char);
}
pub unsafe fn dc_unblock_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t) {
pub unsafe fn dc_unblock_chat(mut context: &dc_context_t, mut chat_id: uint32_t) {
dc_block_chat(context, chat_id, 0i32);
}
pub unsafe fn dc_block_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut new_blocking: libc::c_int,
) {
@@ -219,7 +219,7 @@ unsafe fn set_from_stmt(mut chat: *mut dc_chat_t, mut row: *mut sqlite3_stmt) ->
return row_offset;
}
pub unsafe fn dc_create_chat_by_contact_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as uint32_t;
@@ -268,7 +268,7 @@ pub unsafe fn dc_create_chat_by_contact_id(
return chat_id;
}
pub unsafe fn dc_create_or_lookup_nchat_by_contact_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
mut create_blocked: libc::c_int,
mut ret_chat_id: *mut uint32_t,
@@ -378,7 +378,7 @@ pub unsafe fn dc_create_or_lookup_nchat_by_contact_id(
};
}
pub unsafe fn dc_lookup_real_nchat_by_contact_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
mut ret_chat_id: *mut uint32_t,
mut ret_chat_blocked: *mut libc::c_int,
@@ -413,7 +413,7 @@ pub unsafe fn dc_lookup_real_nchat_by_contact_id(
sqlite3_finalize(stmt);
}
pub unsafe fn dc_get_chat_id_by_contact_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as uint32_t;
@@ -429,7 +429,7 @@ pub unsafe fn dc_get_chat_id_by_contact_id(
};
}
pub unsafe fn dc_prepare_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg: *mut dc_msg_t,
) -> uint32_t {
@@ -451,7 +451,7 @@ pub unsafe fn dc_prepare_msg(
return msg_id;
}
unsafe fn prepare_msg_common(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg: *mut dc_msg_t,
) -> uint32_t {
@@ -550,7 +550,7 @@ unsafe fn prepare_msg_common(
return (*msg).id;
}
unsafe fn prepare_msg_raw(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat: *mut dc_chat_t,
mut msg: *const dc_msg_t,
mut timestamp: time_t,
@@ -959,7 +959,7 @@ pub unsafe fn dc_chat_update_param(mut chat: *mut dc_chat_t) -> libc::c_int {
return success;
}
pub unsafe fn dc_is_contact_in_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
) -> libc::c_int {
@@ -984,7 +984,7 @@ pub unsafe fn dc_is_contact_in_chat(
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_unarchive_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t) {
pub unsafe fn dc_unarchive_chat(mut context: &dc_context_t, mut chat_id: uint32_t) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE chats SET archived=0 WHERE id=?\x00" as *const u8 as *const libc::c_char,
@@ -994,7 +994,7 @@ pub unsafe fn dc_unarchive_chat(mut context: *mut dc_context_t, mut chat_id: uin
sqlite3_finalize(stmt);
}
pub unsafe fn dc_send_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg: *mut dc_msg_t,
) -> uint32_t {
@@ -1051,7 +1051,7 @@ pub unsafe fn dc_send_msg(
return (*msg).id;
}
pub unsafe fn dc_send_text_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut text_to_send: *const libc::c_char,
) -> uint32_t {
@@ -1069,7 +1069,7 @@ pub unsafe fn dc_send_text_msg(
return ret;
}
pub unsafe fn dc_set_draft(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg: *mut dc_msg_t,
) {
@@ -1089,7 +1089,7 @@ pub unsafe fn dc_set_draft(
};
}
unsafe fn set_draft_raw(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg: *mut dc_msg_t,
) -> libc::c_int {
@@ -1171,7 +1171,7 @@ unsafe fn set_draft_raw(
free(pathNfilename as *mut libc::c_void);
return sth_changed;
}
unsafe fn get_draft_msg_id(mut context: *mut dc_context_t, mut chat_id: uint32_t) -> uint32_t {
unsafe fn get_draft_msg_id(mut context: &dc_context_t, mut chat_id: uint32_t) -> uint32_t {
let mut draft_msg_id: uint32_t = 0i32 as uint32_t;
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
@@ -1185,7 +1185,7 @@ unsafe fn get_draft_msg_id(mut context: *mut dc_context_t, mut chat_id: uint32_t
sqlite3_finalize(stmt);
return draft_msg_id;
}
pub unsafe fn dc_get_draft(mut context: *mut dc_context_t, mut chat_id: uint32_t) -> *mut dc_msg_t {
pub unsafe fn dc_get_draft(mut context: &dc_context_t, mut chat_id: uint32_t) -> *mut dc_msg_t {
let mut draft_msg_id: uint32_t = 0i32 as uint32_t;
let mut draft_msg: *mut dc_msg_t = 0 as *mut dc_msg_t;
if context.is_null()
@@ -1206,7 +1206,7 @@ pub unsafe fn dc_get_draft(mut context: *mut dc_context_t, mut chat_id: uint32_t
return draft_msg;
}
pub unsafe fn dc_get_chat_msgs(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut flags: uint32_t,
mut marker1before: uint32_t,
@@ -1271,7 +1271,7 @@ pub unsafe fn dc_get_chat_msgs(
return 0 as *mut dc_array_t;
};
}
pub unsafe fn dc_get_msg_cnt(mut context: *mut dc_context_t, mut chat_id: uint32_t) -> libc::c_int {
pub unsafe fn dc_get_msg_cnt(mut context: &dc_context_t, mut chat_id: uint32_t) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -1288,7 +1288,7 @@ pub unsafe fn dc_get_msg_cnt(mut context: *mut dc_context_t, mut chat_id: uint32
return ret;
}
pub unsafe fn dc_get_fresh_msg_cnt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
@@ -1307,7 +1307,7 @@ pub unsafe fn dc_get_fresh_msg_cnt(
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_marknoticed_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t) {
pub unsafe fn dc_marknoticed_chat(mut context: &dc_context_t, mut chat_id: uint32_t) {
let mut check: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut update: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -1336,7 +1336,7 @@ pub unsafe fn dc_marknoticed_chat(mut context: *mut dc_context_t, mut chat_id: u
sqlite3_finalize(check);
sqlite3_finalize(update);
}
pub unsafe fn dc_marknoticed_all_chats(mut context: *mut dc_context_t) {
pub unsafe fn dc_marknoticed_all_chats(mut context: &dc_context_t) {
let mut check: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut update: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -1363,7 +1363,7 @@ pub unsafe fn dc_marknoticed_all_chats(mut context: *mut dc_context_t) {
sqlite3_finalize(update);
}
pub unsafe fn dc_get_chat_media(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut msg_type: libc::c_int,
mut msg_type2: libc::c_int,
@@ -1404,7 +1404,7 @@ pub unsafe fn dc_get_chat_media(
return ret;
}
pub unsafe fn dc_get_next_media(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut curr_msg_id: uint32_t,
mut dir: libc::c_int,
mut msg_type: libc::c_int,
@@ -1456,7 +1456,7 @@ pub unsafe fn dc_get_next_media(
return ret_msg_id;
}
pub unsafe fn dc_archive_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut archive: libc::c_int,
) {
@@ -1492,7 +1492,7 @@ pub unsafe fn dc_archive_chat(
0i32 as uintptr_t,
);
}
pub unsafe fn dc_delete_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t) {
pub unsafe fn dc_delete_chat(mut context: &dc_context_t, mut chat_id: uint32_t) {
/* Up to 2017-11-02 deleting a group also implied leaving it, see above why we have changed this. */
let mut pending_transaction: libc::c_int = 0i32;
let mut obj: *mut dc_chat_t = dc_chat_new(context);
@@ -1558,7 +1558,7 @@ pub unsafe fn dc_delete_chat(mut context: *mut dc_context_t, mut chat_id: uint32
sqlite3_free(q3 as *mut libc::c_void);
}
pub unsafe fn dc_get_chat_contacts(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
) -> *mut dc_array_t {
/* Normal chats do not include SELF. Group chats do (as it may happen that one is deleted from a
@@ -1581,7 +1581,7 @@ pub unsafe fn dc_get_chat_contacts(
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_get_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t) -> *mut dc_chat_t {
pub unsafe fn dc_get_chat(mut context: &dc_context_t, mut chat_id: uint32_t) -> *mut dc_chat_t {
let mut success: libc::c_int = 0i32;
let mut obj: *mut dc_chat_t = dc_chat_new(context);
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -1598,7 +1598,7 @@ pub unsafe fn dc_get_chat(mut context: *mut dc_context_t, mut chat_id: uint32_t)
}
// handle group chats
pub unsafe fn dc_create_group_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut verified: libc::c_int,
mut chat_name: *const libc::c_char,
) -> uint32_t {
@@ -1656,7 +1656,7 @@ pub unsafe fn dc_create_group_chat(
/* you MUST NOT modify this or the following strings */
// Context functions to work with chats
pub unsafe fn dc_add_to_chat_contacts_table(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
) -> libc::c_int {
@@ -1678,14 +1678,14 @@ pub unsafe fn dc_add_to_chat_contacts_table(
return ret;
}
pub unsafe fn dc_add_contact_to_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
) -> libc::c_int {
return dc_add_contact_to_chat_ex(context, chat_id, contact_id, 0i32);
}
pub unsafe fn dc_add_contact_to_chat_ex(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
mut flags: libc::c_int,
@@ -1807,7 +1807,7 @@ pub unsafe fn dc_add_contact_to_chat_ex(
free(self_addr as *mut libc::c_void);
return success;
}
unsafe fn real_group_exists(mut context: *mut dc_context_t, mut chat_id: uint32_t) -> libc::c_int {
unsafe fn real_group_exists(mut context: &dc_context_t, mut chat_id: uint32_t) -> libc::c_int {
// check if a group or a verified group exists under the given ID
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut ret: libc::c_int = 0i32;
@@ -1830,11 +1830,11 @@ unsafe fn real_group_exists(mut context: *mut dc_context_t, mut chat_id: uint32_
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_reset_gossiped_timestamp(mut context: *mut dc_context_t, mut chat_id: uint32_t) {
pub unsafe fn dc_reset_gossiped_timestamp(mut context: &dc_context_t, mut chat_id: uint32_t) {
dc_set_gossiped_timestamp(context, chat_id, 0i32 as time_t);
}
pub unsafe fn dc_set_gossiped_timestamp(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut timestamp: time_t,
) {
@@ -1871,7 +1871,7 @@ pub unsafe fn dc_set_gossiped_timestamp(
sqlite3_finalize(stmt);
}
pub unsafe fn dc_remove_contact_from_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
) -> libc::c_int {
@@ -1957,7 +1957,7 @@ pub unsafe fn dc_remove_contact_from_chat(
return success;
}
pub unsafe fn dc_set_group_explicitly_left(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut grpid: *const libc::c_char,
) {
if 0 == dc_is_group_explicitly_left(context, grpid) {
@@ -1971,7 +1971,7 @@ pub unsafe fn dc_set_group_explicitly_left(
};
}
pub unsafe fn dc_is_group_explicitly_left(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut grpid: *const libc::c_char,
) -> libc::c_int {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
@@ -1984,7 +1984,7 @@ pub unsafe fn dc_is_group_explicitly_left(
return ret;
}
pub unsafe fn dc_set_chat_name(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut new_name: *const libc::c_char,
) -> libc::c_int {
@@ -2057,7 +2057,7 @@ pub unsafe fn dc_set_chat_name(
return success;
}
pub unsafe fn dc_set_chat_profile_image(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut new_image: *const libc::c_char,
) -> libc::c_int {
@@ -2140,7 +2140,7 @@ pub unsafe fn dc_set_chat_profile_image(
return success;
}
pub unsafe fn dc_forward_msgs(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_ids: *const uint32_t,
mut msg_cnt: libc::c_int,
mut chat_id: uint32_t,
@@ -2321,7 +2321,7 @@ pub unsafe extern "C" fn dc_chat_get_subtitle(mut chat: *const dc_chat_t) -> *mu
};
}
pub unsafe fn dc_get_chat_contact_cnt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
@@ -2408,7 +2408,7 @@ pub unsafe fn dc_chat_is_sending_locations(mut chat: *const dc_chat_t) -> libc::
}
return (*chat).is_sending_locations;
}
pub unsafe fn dc_get_chat_cnt(mut context: *mut dc_context_t) -> size_t {
pub unsafe fn dc_get_chat_cnt(mut context: &dc_context_t) -> size_t {
let mut ret: size_t = 0i32 as size_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null()
@@ -2429,7 +2429,7 @@ pub unsafe fn dc_get_chat_cnt(mut context: *mut dc_context_t) -> size_t {
return ret;
}
pub unsafe fn dc_get_chat_id_by_grpid(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut grpid: *const libc::c_char,
mut ret_blocked: *mut libc::c_int,
mut ret_verified: *mut libc::c_int,
@@ -2463,7 +2463,7 @@ pub unsafe fn dc_get_chat_id_by_grpid(
return chat_id;
}
pub unsafe fn dc_add_device_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut text: *const libc::c_char,
) {

View File

@@ -17,14 +17,14 @@ use crate::x::*;
#[repr(C)]
pub struct dc_chatlist_t {
pub magic: uint32_t,
pub context: *mut dc_context_t,
pub context: &dc_context_t,
pub cnt: size_t,
pub chatNlastmsg_ids: *mut dc_array_t,
}
// handle chatlists
pub unsafe fn dc_get_chatlist(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut listflags: libc::c_int,
mut query_str: *const libc::c_char,
mut query_id: uint32_t,
@@ -81,7 +81,7 @@ pub unsafe fn dc_get_chatlist(
* Rendering the deaddrop in the described way
* would not add extra work in the UI then.
*/
pub unsafe fn dc_chatlist_new(mut context: *mut dc_context_t) -> *mut dc_chatlist_t {
pub unsafe fn dc_chatlist_new(mut context: &dc_context_t) -> *mut dc_chatlist_t {
let mut chatlist: *mut dc_chatlist_t = 0 as *mut dc_chatlist_t;
chatlist = calloc(1, ::std::mem::size_of::<dc_chatlist_t>()) as *mut dc_chatlist_t;
if chatlist.is_null() {
@@ -221,7 +221,7 @@ unsafe fn dc_chatlist_load_from_db(
return success;
}
// Context functions to work with chatlist
pub unsafe fn dc_get_archived_cnt(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_get_archived_cnt(mut context: &dc_context_t) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
@@ -234,7 +234,7 @@ pub unsafe fn dc_get_archived_cnt(mut context: *mut dc_context_t) -> libc::c_int
sqlite3_finalize(stmt);
return ret;
}
unsafe fn get_last_deaddrop_fresh_msg(mut context: *mut dc_context_t) -> uint32_t {
unsafe fn get_last_deaddrop_fresh_msg(mut context: &dc_context_t) -> uint32_t {
let mut ret: uint32_t = 0i32 as uint32_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
stmt =
@@ -355,7 +355,7 @@ pub unsafe fn dc_chatlist_get_summary(
dc_chat_unref(chat_to_delete);
return ret;
}
pub unsafe fn dc_chatlist_get_context(mut chatlist: *mut dc_chatlist_t) -> *mut dc_context_t {
pub unsafe fn dc_chatlist_get_context(mut chatlist: *mut dc_chatlist_t) -> &dc_context_t {
if chatlist.is_null() || (*chatlist).magic != 0xc4a71157u32 {
return 0 as *mut dc_context_t;
}

View File

@@ -58,7 +58,7 @@ pub struct outlk_autodiscover_t {
pub redirect: *mut libc::c_char,
}
// connect
pub unsafe fn dc_configure(mut context: *mut dc_context_t) {
pub unsafe fn dc_configure(mut context: &dc_context_t) {
if 0 != dc_has_ongoing(context) {
dc_log_warning(
context,
@@ -71,7 +71,7 @@ pub unsafe fn dc_configure(mut context: *mut dc_context_t) {
dc_job_kill_action(context, 900i32);
dc_job_add(context, 900i32, 0i32, 0 as *const libc::c_char, 0i32);
}
pub unsafe fn dc_has_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_has_ongoing(mut context: &dc_context_t) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32;
}
@@ -81,7 +81,7 @@ pub unsafe fn dc_has_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
0i32
};
}
pub unsafe fn dc_is_configured(mut context: *const dc_context_t) -> libc::c_int {
pub unsafe fn dc_is_configured(mut context: &dc_context_t) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32;
}
@@ -96,7 +96,7 @@ pub unsafe fn dc_is_configured(mut context: *const dc_context_t) -> libc::c_int
0i32
};
}
pub unsafe fn dc_stop_ongoing_process(mut context: *mut dc_context_t) {
pub unsafe fn dc_stop_ongoing_process(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -116,7 +116,7 @@ pub unsafe fn dc_stop_ongoing_process(mut context: *mut dc_context_t) {
};
}
// the other dc_job_do_DC_JOB_*() functions are declared static in the c-file
pub unsafe fn dc_job_do_DC_JOB_CONFIGURE_IMAP(context: *mut dc_context_t, _job: *mut dc_job_t) {
pub unsafe fn dc_job_do_DC_JOB_CONFIGURE_IMAP(context: &dc_context_t, _job: *mut dc_job_t) {
let mut flags: libc::c_int = 0;
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
@@ -1323,7 +1323,7 @@ pub unsafe fn dc_job_do_DC_JOB_CONFIGURE_IMAP(context: *mut dc_context_t, _job:
);
}
pub unsafe fn dc_free_ongoing(mut context: *mut dc_context_t) {
pub unsafe fn dc_free_ongoing(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1331,7 +1331,7 @@ pub unsafe fn dc_free_ongoing(mut context: *mut dc_context_t) {
(*context).shall_stop_ongoing = 1i32;
}
pub unsafe fn dc_configure_folders(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut imap: *mut dc_imap_t,
mut flags: libc::c_int,
) {
@@ -1634,7 +1634,7 @@ unsafe fn get_folder_meaning(mut flags: *mut mailimap_mbx_list_flags) -> libc::c
return ret_meaning;
}
unsafe fn moz_autoconfigure(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut url: *const libc::c_char,
mut param_in: *const dc_loginparam_t,
) -> *mut dc_loginparam_t {
@@ -1859,7 +1859,7 @@ unsafe fn moz_autoconfigure_starttag_cb(
};
}
unsafe fn read_autoconf_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut url: *const libc::c_char,
) -> *mut libc::c_char {
let mut filecontent: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -1887,7 +1887,7 @@ unsafe fn read_autoconf_file(
return filecontent;
}
unsafe fn outlk_autodiscover(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut url__: *const libc::c_char,
mut param_in: *const dc_loginparam_t,
) -> *mut dc_loginparam_t {
@@ -2071,7 +2071,7 @@ unsafe fn outlk_autodiscover_starttag_cb(
(*outlk_ad).tag_config = 5i32
};
}
pub unsafe fn dc_alloc_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_alloc_ongoing(mut context: &dc_context_t) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32;
}
@@ -2089,7 +2089,7 @@ pub unsafe fn dc_alloc_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
return 1i32;
}
pub unsafe fn dc_connect_to_configured_imap(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut imap: *mut dc_imap_t,
) -> libc::c_int {
let mut ret_connected: libc::c_int = 0i32;

View File

@@ -30,7 +30,7 @@ pub struct dc_contact_t {
pub origin: libc::c_int,
}
pub unsafe fn dc_marknoticed_contact(mut context: *mut dc_context_t, mut contact_id: uint32_t) {
pub unsafe fn dc_marknoticed_contact(mut context: &dc_context_t, mut contact_id: uint32_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -69,7 +69,7 @@ pub unsafe extern "C" fn dc_may_be_valid_addr(mut addr: *const libc::c_char) ->
return 1i32;
}
pub unsafe fn dc_lookup_contact_id_by_addr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
) -> uint32_t {
let mut contact_id: libc::c_int = 0i32;
@@ -130,7 +130,7 @@ pub unsafe fn dc_addr_normalize(mut addr: *const libc::c_char) -> *mut libc::c_c
return addr_normalized;
}
pub unsafe fn dc_create_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut name: *const libc::c_char,
mut addr: *const libc::c_char,
) -> uint32_t {
@@ -161,7 +161,7 @@ pub unsafe fn dc_create_contact(
return contact_id;
}
pub unsafe fn dc_block_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
mut new_blocking: libc::c_int,
) {
@@ -243,7 +243,7 @@ pub unsafe fn dc_block_contact(
* dc_create_contact() or dc_add_address_book())
* only affect the given-name.
*/
pub unsafe fn dc_contact_new(mut context: *mut dc_context_t) -> *mut dc_contact_t {
pub unsafe fn dc_contact_new(mut context: &dc_context_t) -> *mut dc_contact_t {
let mut contact: *mut dc_contact_t = 0 as *mut dc_contact_t;
contact = calloc(1, ::std::mem::size_of::<dc_contact_t>()) as *mut dc_contact_t;
if contact.is_null() {
@@ -341,7 +341,7 @@ pub unsafe fn dc_contact_load_from_db(
return success;
}
pub unsafe fn dc_is_contact_blocked(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> libc::c_int {
let mut is_blocked: libc::c_int = 0i32;
@@ -356,7 +356,7 @@ pub unsafe fn dc_is_contact_blocked(
}
/*can be NULL*/
pub unsafe fn dc_add_or_lookup_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut name: *const libc::c_char,
mut addr__: *const libc::c_char,
mut origin: libc::c_int,
@@ -541,7 +541,7 @@ pub unsafe fn dc_add_or_lookup_contact(
return row_id;
}
pub unsafe fn dc_add_address_book(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut adr_book: *const libc::c_char,
) -> libc::c_int {
let mut lines: *mut carray = 0 as *mut carray;
@@ -619,7 +619,7 @@ pub unsafe fn dc_normalize_name(mut full_name: *mut libc::c_char) {
};
}
pub unsafe fn dc_get_contacts(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut listflags: uint32_t,
mut query: *const libc::c_char,
) -> *mut dc_array_t {
@@ -713,7 +713,7 @@ pub unsafe fn dc_get_contacts(
free(self_name2 as *mut libc::c_void);
return ret;
}
pub unsafe fn dc_get_blocked_cnt(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_get_blocked_cnt(mut context: &dc_context_t) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -730,7 +730,7 @@ pub unsafe fn dc_get_blocked_cnt(mut context: *mut dc_context_t) -> libc::c_int
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_get_blocked_contacts(mut context: *mut dc_context_t) -> *mut dc_array_t {
pub unsafe fn dc_get_blocked_contacts(mut context: &dc_context_t) -> *mut dc_array_t {
let mut ret: *mut dc_array_t = dc_array_new(context, 100i32 as size_t);
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
@@ -748,7 +748,7 @@ pub unsafe fn dc_get_blocked_contacts(mut context: *mut dc_context_t) -> *mut dc
return ret;
}
pub unsafe fn dc_get_contact_encrinfo(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> *mut libc::c_char {
let mut ret: dc_strbuilder_t = dc_strbuilder_t {
@@ -890,7 +890,7 @@ unsafe fn cat_fingerprint(
};
}
pub unsafe fn dc_delete_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
@@ -939,7 +939,7 @@ pub unsafe fn dc_delete_contact(
return success;
}
pub unsafe fn dc_get_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> *mut dc_contact_t {
let mut ret: *mut dc_contact_t = dc_contact_new(context);
@@ -1099,7 +1099,7 @@ pub unsafe fn dc_addr_cmp(
return ret;
}
pub unsafe fn dc_addr_equals_self(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
) -> libc::c_int {
let mut ret: libc::c_int = 0i32;
@@ -1125,7 +1125,7 @@ pub unsafe fn dc_addr_equals_self(
return ret;
}
pub unsafe fn dc_addr_equals_contact(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut contact_id: uint32_t,
) -> libc::c_int {
@@ -1146,7 +1146,7 @@ pub unsafe fn dc_addr_equals_contact(
return addr_are_equal;
}
// Context functions to work with contacts
pub unsafe fn dc_get_real_contact_cnt(mut context: *mut dc_context_t) -> size_t {
pub unsafe fn dc_get_real_contact_cnt(mut context: &dc_context_t) -> size_t {
let mut ret: size_t = 0i32 as size_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null()
@@ -1166,7 +1166,7 @@ pub unsafe fn dc_get_real_contact_cnt(mut context: *mut dc_context_t) -> size_t
return ret;
}
pub unsafe fn dc_get_contact_origin(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
mut ret_blocked: *mut libc::c_int,
) -> libc::c_int {
@@ -1189,7 +1189,7 @@ pub unsafe fn dc_get_contact_origin(
return ret;
}
pub unsafe fn dc_real_contact_exists(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
) -> libc::c_int {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
@@ -1212,7 +1212,7 @@ pub unsafe fn dc_real_contact_exists(
return ret;
}
pub unsafe fn dc_scaleup_contact_origin(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_id: uint32_t,
mut origin: libc::c_int,
) {

View File

@@ -33,7 +33,7 @@ pub struct dc_e2ee_helper_t {
}
pub unsafe fn dc_e2ee_encrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut recipients_addr: *const clist,
mut force_unencrypted: libc::c_int,
mut e2ee_guaranteed: libc::c_int,
@@ -54,7 +54,7 @@ pub unsafe fn dc_e2ee_encrypt(
let mut plain: *mut MMAPString = mmap_string_new(b"\x00" as *const u8 as *const libc::c_char);
let mut ctext: *mut libc::c_char = 0 as *mut libc::c_char;
let mut ctext_bytes: size_t = 0i32 as size_t;
let mut peerstates: *mut dc_array_t = dc_array_new(0 as *mut dc_context_t, 10i32 as size_t);
let mut peerstates: &dc_array_t = dc_array_new(0 as *mut dc_context_t, 10i32 as size_t);
if !helper.is_null() {
memset(
helper as *mut libc::c_void,
@@ -505,7 +505,7 @@ unsafe fn new_data_part(
* Generate Keypairs
******************************************************************************/
unsafe fn load_or_generate_self_public_key(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut public_key: *mut dc_key_t,
mut self_addr: *const libc::c_char,
mut random_data_mime: *mut mailmime,
@@ -619,7 +619,7 @@ unsafe fn load_or_generate_self_public_key(
}
/* returns 1 if sth. was decrypted, 0 in other cases */
pub unsafe fn dc_e2ee_decrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut in_out_message: *mut mailmime,
mut helper: *mut dc_e2ee_helper_t,
) {
@@ -753,7 +753,7 @@ pub unsafe fn dc_e2ee_decrypt(
free(self_addr as *mut libc::c_void);
}
unsafe fn update_gossip_peerstates(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut message_time: time_t,
mut imffields: *mut mailimf_fields,
mut gossip_headers: *const mailimf_fields,
@@ -845,7 +845,7 @@ unsafe fn update_gossip_peerstates(
return gossipped_addr;
}
unsafe fn decrypt_recursive(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime: *mut mailmime,
mut private_keyring: *const dc_keyring_t,
mut public_keyring_for_validate: *const dc_keyring_t,
@@ -950,7 +950,7 @@ unsafe fn decrypt_recursive(
return 0i32;
}
unsafe fn decrypt_part(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime: *mut mailmime,
mut private_keyring: *const dc_keyring_t,
mut public_keyring_for_validate: *const dc_keyring_t,
@@ -1192,7 +1192,7 @@ pub unsafe fn dc_e2ee_thanks(mut helper: *mut dc_e2ee_helper_t) {
};
}
/* makes sure, the private key exists, needed only for exporting keys and the case no message was sent before */
pub unsafe fn dc_ensure_secret_key_exists(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_ensure_secret_key_exists(mut context: &dc_context_t) -> libc::c_int {
/* normally, the key is generated as soon as the first mail is send
(this is to gain some extra-random-seed by the message content and the timespan between program start and message sending) */
let mut success: libc::c_int = 0i32;

File diff suppressed because it is too large Load Diff

View File

@@ -26,7 +26,7 @@ use crate::x::*;
// param1 is a directory where the backup is written to
// param1 is the file with the backup to import
pub unsafe fn dc_imex(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut what: libc::c_int,
mut param1: *const libc::c_char,
mut param2: *const libc::c_char,
@@ -40,7 +40,7 @@ pub unsafe fn dc_imex(
dc_param_unref(param);
}
pub unsafe fn dc_imex_has_backup(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut dir_name: *const libc::c_char,
) -> *mut libc::c_char {
let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -117,7 +117,7 @@ pub unsafe fn dc_imex_has_backup(
return ret;
}
pub unsafe fn dc_check_password(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut test_pw: *const libc::c_char,
) -> libc::c_int {
/* Check if the given password matches the configured mail_pw.
@@ -145,7 +145,7 @@ pub unsafe fn dc_check_password(
dc_loginparam_unref(loginparam);
return success;
}
pub unsafe fn dc_initiate_key_transfer(mut context: *mut dc_context_t) -> *mut libc::c_char {
pub unsafe fn dc_initiate_key_transfer(mut context: &dc_context_t) -> *mut libc::c_char {
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
let mut setup_code: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -247,7 +247,7 @@ pub unsafe fn dc_initiate_key_transfer(mut context: *mut dc_context_t) -> *mut l
return setup_code;
}
pub unsafe extern "C" fn dc_render_setup_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut passphrase: *const libc::c_char,
) -> *mut libc::c_char {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
@@ -335,7 +335,7 @@ pub unsafe extern "C" fn dc_render_setup_file(
free(self_addr as *mut libc::c_void);
return ret_setupfilecontent;
}
pub unsafe fn dc_create_setup_code(_context: *mut dc_context_t) -> *mut libc::c_char {
pub unsafe fn dc_create_setup_code(_context: &dc_context_t) -> *mut libc::c_char {
let mut random_val: uint16_t = 0i32 as uint16_t;
let mut i: libc::c_int = 0i32;
let mut ret: dc_strbuilder_t = dc_strbuilder_t {
@@ -370,7 +370,7 @@ pub unsafe fn dc_create_setup_code(_context: *mut dc_context_t) -> *mut libc::c_
return ret.buf;
}
pub unsafe fn dc_continue_key_transfer(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_id: uint32_t,
mut setup_code: *const libc::c_char,
) -> libc::c_int {
@@ -449,7 +449,7 @@ pub unsafe fn dc_continue_key_transfer(
return success;
}
unsafe fn set_self_key(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut armored: *const libc::c_char,
mut set_default: libc::c_int,
) -> libc::c_int {
@@ -567,7 +567,7 @@ unsafe fn set_self_key(
return success;
}
pub unsafe fn dc_decrypt_setup_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut passphrase: *const libc::c_char,
mut filecontent: *const libc::c_char,
) -> *mut libc::c_char {
@@ -631,7 +631,7 @@ pub unsafe fn dc_decrypt_setup_file(
return payload;
}
pub unsafe fn dc_normalize_setup_code(
_context: *mut dc_context_t,
_context: &dc_context_t,
in_0: *const libc::c_char,
) -> *mut libc::c_char {
if in_0.is_null() {
@@ -670,7 +670,7 @@ pub unsafe fn dc_normalize_setup_code(
}
return out.buf;
}
pub unsafe fn dc_job_do_DC_JOB_IMEX_IMAP(mut context: *mut dc_context_t, mut job: *mut dc_job_t) {
pub unsafe fn dc_job_do_DC_JOB_IMEX_IMAP(mut context: &dc_context_t, mut job: *mut dc_job_t) {
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
let mut ongoing_allocated_here: libc::c_int = 0i32;
@@ -933,7 +933,7 @@ pub unsafe fn dc_job_do_DC_JOB_IMEX_IMAP(mut context: *mut dc_context_t, mut job
* Import backup
******************************************************************************/
unsafe fn import_backup(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut backup_to_import: *const libc::c_char,
) -> libc::c_int {
let mut current_block: u64;
@@ -1074,10 +1074,7 @@ unsafe fn import_backup(
******************************************************************************/
/* the FILE_PROGRESS macro calls the callback with the permille of files processed.
The macro avoids weird values of 0% or 100% while still working. */
unsafe fn export_backup(
mut context: *mut dc_context_t,
mut dir: *const libc::c_char,
) -> libc::c_int {
unsafe fn export_backup(mut context: &dc_context_t, mut dir: *const libc::c_char) -> libc::c_int {
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
let mut closed: libc::c_int = 0i32;
@@ -1360,7 +1357,7 @@ unsafe fn import_self_keys(
Maybe we should make the "default" key handlong also a little bit smarter
(currently, the last imported key is the standard key unless it contains the string "legacy" in its name) */
let mut imported_cnt: libc::c_int = 0i32;
let mut dir_handle: *mut DIR = 0 as *mut DIR;
let mut dir_handle: &DIR = 0 as *mut DIR;
let mut dir_entry: *mut dirent = 0 as *mut dirent;
let mut suffix: *mut libc::c_char = 0 as *mut libc::c_char;
let mut path_plus_name: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -1489,7 +1486,7 @@ unsafe fn export_self_keys(
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut export_errors: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut id: libc::c_int = 0i32;
let mut is_default: libc::c_int = 0i32;
let mut public_key: *mut dc_key_t = dc_key_new();
@@ -1532,7 +1529,7 @@ unsafe fn export_key_to_asc_file(
mut is_default: libc::c_int,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut file_name: *mut libc::c_char = 0 as *mut libc::c_char;
let mut file_name: &libc::c_char = 0 as *mut libc::c_char;
if 0 != is_default {
file_name = dc_mprintf(
b"%s/%s-key-default.asc\x00" as *const u8 as *const libc::c_char,

View File

@@ -45,7 +45,7 @@ pub struct dc_job_t {
pub pending_error: *mut libc::c_char,
}
pub unsafe fn dc_perform_imap_jobs(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_imap_jobs(mut context: &dc_context_t) {
dc_log_info(
context,
0i32,
@@ -66,7 +66,7 @@ pub unsafe fn dc_perform_imap_jobs(mut context: *mut dc_context_t) {
);
}
unsafe fn dc_job_perform(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut thread: libc::c_int,
mut probe_network: libc::c_int,
) {
@@ -244,7 +244,7 @@ unsafe fn dc_job_perform(
free(job.pending_error as *mut libc::c_void);
sqlite3_finalize(select_stmt);
}
unsafe fn dc_job_delete(mut context: *mut dc_context_t, mut job: *const dc_job_t) {
unsafe fn dc_job_delete(mut context: &dc_context_t, mut job: *const dc_job_t) {
let mut delete_stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"DELETE FROM jobs WHERE id=?;\x00" as *const u8 as *const libc::c_char,
@@ -268,7 +268,7 @@ unsafe fn get_backoff_time_offset(mut c_tries: libc::c_int) -> time_t {
}
return seconds;
}
unsafe fn dc_job_update(mut context: *mut dc_context_t, mut job: *const dc_job_t) {
unsafe fn dc_job_update(mut context: &dc_context_t, mut job: *const dc_job_t) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE jobs SET desired_timestamp=?, tries=?, param=? WHERE id=?;\x00" as *const u8
@@ -281,7 +281,7 @@ unsafe fn dc_job_update(mut context: *mut dc_context_t, mut job: *const dc_job_t
sqlite3_step(stmt);
sqlite3_finalize(stmt);
}
unsafe fn dc_suspend_smtp_thread(mut context: *mut dc_context_t, mut suspend: libc::c_int) {
unsafe fn dc_suspend_smtp_thread(mut context: &dc_context_t, mut suspend: libc::c_int) {
pthread_mutex_lock(&mut (*context).smtpidle_condmutex);
(*context).smtp_suspended = suspend;
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex);
@@ -297,7 +297,7 @@ unsafe fn dc_suspend_smtp_thread(mut context: *mut dc_context_t, mut suspend: li
}
};
}
unsafe extern "C" fn dc_job_do_DC_JOB_SEND(mut context: *mut dc_context_t, mut job: *mut dc_job_t) {
unsafe extern "C" fn dc_job_do_DC_JOB_SEND(mut context: &dc_context_t, mut job: *mut dc_job_t) {
let mut current_block: u64;
let mut filename: *mut libc::c_char = 0 as *mut libc::c_char;
let mut buf: *mut libc::c_void = 0 as *mut libc::c_void;
@@ -446,7 +446,7 @@ pub unsafe fn dc_job_try_again_later(
free((*job).pending_error as *mut libc::c_void);
(*job).pending_error = dc_strdup_keep_null(pending_error);
}
unsafe fn dc_job_do_DC_JOB_MOVE_MSG(mut context: *mut dc_context_t, mut job: *mut dc_job_t) {
unsafe fn dc_job_do_DC_JOB_MOVE_MSG(mut context: &dc_context_t, mut job: *mut dc_job_t) {
let mut current_block: u64;
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context);
let mut dest_folder: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -530,7 +530,7 @@ unsafe fn dc_job_do_DC_JOB_MOVE_MSG(mut context: *mut dc_context_t, mut job: *mu
/* ******************************************************************************
* IMAP-jobs
******************************************************************************/
unsafe fn connect_to_inbox(mut context: *mut dc_context_t) -> libc::c_int {
unsafe fn connect_to_inbox(mut context: &dc_context_t) -> libc::c_int {
let mut ret_connected: libc::c_int = 0i32;
ret_connected = dc_connect_to_configured_imap(context, (*context).inbox);
if !(0 == ret_connected) {
@@ -542,7 +542,7 @@ unsafe fn connect_to_inbox(mut context: *mut dc_context_t) -> libc::c_int {
return ret_connected;
}
unsafe fn dc_job_do_DC_JOB_MARKSEEN_MDN_ON_IMAP(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut job: *mut dc_job_t,
) {
let mut current_block: u64;
@@ -599,7 +599,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MDN_ON_IMAP(
free(dest_folder as *mut libc::c_void);
}
unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut job: *mut dc_job_t,
) {
let mut current_block: u64;
@@ -741,7 +741,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(
}
dc_msg_unref(msg);
}
unsafe fn dc_send_mdn(mut context: *mut dc_context_t, mut msg_id: uint32_t) {
unsafe fn dc_send_mdn(mut context: &dc_context_t, mut msg_id: uint32_t) {
let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t {
from_addr: 0 as *mut libc::c_char,
from_displayname: 0 as *mut libc::c_char,
@@ -762,7 +762,7 @@ unsafe fn dc_send_mdn(mut context: *mut dc_context_t, mut msg_id: uint32_t) {
out_gossiped: 0,
out_last_added_location_id: 0,
error: 0 as *mut libc::c_char,
context: 0 as *mut dc_context_t,
context: 0 as &dc_context_t,
};
dc_mimefactory_init(&mut mimefactory, context);
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
@@ -787,7 +787,7 @@ unsafe fn dc_send_mdn(mut context: *mut dc_context_t, mut msg_id: uint32_t) {
* @return 1=success, 0=error
*/
unsafe fn dc_add_smtp_job(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut action: libc::c_int,
mut mimefactory: *mut dc_mimefactory_t,
) -> libc::c_int {
@@ -851,7 +851,7 @@ unsafe fn dc_add_smtp_job(
return success;
}
pub unsafe fn dc_job_add(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut action: libc::c_int,
mut foreign_id: libc::c_int,
mut param: *const libc::c_char,
@@ -899,7 +899,7 @@ pub unsafe fn dc_job_add(
dc_interrupt_smtp_idle(context);
};
}
pub unsafe fn dc_interrupt_smtp_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_interrupt_smtp_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning(
context,
@@ -919,7 +919,7 @@ pub unsafe fn dc_interrupt_smtp_idle(mut context: *mut dc_context_t) {
pthread_cond_signal(&mut (*context).smtpidle_cond);
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex);
}
pub unsafe fn dc_interrupt_imap_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_interrupt_imap_idle(mut context: &dc_context_t) {
if context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint
|| (*context).inbox.is_null()
@@ -941,10 +941,7 @@ pub unsafe fn dc_interrupt_imap_idle(mut context: *mut dc_context_t) {
drop(l);
dc_imap_interrupt_idle((*context).inbox);
}
unsafe fn dc_job_do_DC_JOB_DELETE_MSG_ON_IMAP(
mut context: *mut dc_context_t,
mut job: *mut dc_job_t,
) {
unsafe fn dc_job_do_DC_JOB_DELETE_MSG_ON_IMAP(mut context: &dc_context_t, mut job: *mut dc_job_t) {
let mut current_block: u64;
let mut delete_from_server: libc::c_int = 1i32;
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context);
@@ -1008,7 +1005,7 @@ pub unsafe fn dc_job_kill_action(mut context: *mut dc_context_t, mut action: lib
if context.is_null() {
return;
}
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"DELETE FROM jobs WHERE action=?;\x00" as *const u8 as *const libc::c_char,
);
@@ -1055,7 +1052,7 @@ pub unsafe fn dc_perform_imap_fetch(mut context: *mut dc_context_t) {
clock().wrapping_sub(start) as libc::c_double * 1000.0f64 / 1000000i32 as libc::c_double,
);
}
pub unsafe fn dc_perform_imap_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_imap_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1084,7 +1081,7 @@ pub unsafe fn dc_perform_imap_idle(mut context: *mut dc_context_t) {
b"INBOX-IDLE ended.\x00" as *const u8 as *const libc::c_char,
);
}
pub unsafe fn dc_perform_mvbox_fetch(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_mvbox_fetch(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1095,7 +1092,7 @@ pub unsafe fn dc_perform_mvbox_fetch(mut context: *mut dc_context_t) {
);
dc_jobthread_fetch(&mut (*context).mvbox_thread, use_network);
}
pub unsafe fn dc_perform_mvbox_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_mvbox_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1106,7 +1103,7 @@ pub unsafe fn dc_perform_mvbox_idle(mut context: *mut dc_context_t) {
);
dc_jobthread_idle(&mut (*context).mvbox_thread, use_network);
}
pub unsafe fn dc_interrupt_mvbox_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_interrupt_mvbox_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning(
context,
@@ -1117,7 +1114,7 @@ pub unsafe fn dc_interrupt_mvbox_idle(mut context: *mut dc_context_t) {
}
dc_jobthread_interrupt_idle(&mut (*context).mvbox_thread);
}
pub unsafe fn dc_perform_sentbox_fetch(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_sentbox_fetch(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1128,7 +1125,7 @@ pub unsafe fn dc_perform_sentbox_fetch(mut context: *mut dc_context_t) {
);
dc_jobthread_fetch(&mut (*context).sentbox_thread, use_network);
}
pub unsafe fn dc_perform_sentbox_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_sentbox_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return;
}
@@ -1139,7 +1136,7 @@ pub unsafe fn dc_perform_sentbox_idle(mut context: *mut dc_context_t) {
);
dc_jobthread_idle(&mut (*context).sentbox_thread, use_network);
}
pub unsafe fn dc_interrupt_sentbox_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_interrupt_sentbox_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning(
context,
@@ -1150,7 +1147,7 @@ pub unsafe fn dc_interrupt_sentbox_idle(mut context: *mut dc_context_t) {
}
dc_jobthread_interrupt_idle(&mut (*context).sentbox_thread);
}
pub unsafe fn dc_perform_smtp_jobs(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_smtp_jobs(mut context: &dc_context_t) {
pthread_mutex_lock(&mut (*context).smtpidle_condmutex);
let mut probe_smtp_network: libc::c_int = (*context).probe_smtp_network;
(*context).probe_smtp_network = 0i32;
@@ -1181,7 +1178,7 @@ pub unsafe fn dc_perform_smtp_jobs(mut context: *mut dc_context_t) {
(*context).smtp_doing_jobs = 0i32;
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex);
}
pub unsafe fn dc_perform_smtp_idle(mut context: *mut dc_context_t) {
pub unsafe fn dc_perform_smtp_idle(mut context: &dc_context_t) {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning(
context,
@@ -1210,7 +1207,7 @@ pub unsafe fn dc_perform_smtp_idle(mut context: *mut dc_context_t) {
tv_nsec: 0,
};
memset(
&mut wakeup_at as *mut timespec as *mut libc::c_void,
&mut wakeup_at as &timespec as *mut libc::c_void,
0,
::std::mem::size_of::<timespec>(),
);
@@ -1244,7 +1241,7 @@ unsafe fn get_next_wakeup_time(mut context: *mut dc_context_t, mut thread: libc:
wakeup_time = sqlite3_column_int(stmt, 0i32) as time_t
}
if wakeup_time == 0i32 as libc::c_long {
wakeup_time = time(0 as *mut time_t) + (10i32 * 60i32) as libc::c_long
wakeup_time = time(0 as &time_t) + (10i32 * 60i32) as libc::c_long
}
sqlite3_finalize(stmt);
return wakeup_time;
@@ -1262,11 +1259,11 @@ pub unsafe fn dc_maybe_network(mut context: *mut dc_context_t) {
dc_interrupt_sentbox_idle(context);
}
pub unsafe fn dc_job_action_exists(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut action: libc::c_int,
) -> libc::c_int {
let mut job_exists: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
stmt = dc_sqlite3_prepare(
(*context).sql,
b"SELECT id FROM jobs WHERE action=?;\x00" as *const u8 as *const libc::c_char,
@@ -1280,7 +1277,7 @@ pub unsafe fn dc_job_action_exists(
pub unsafe fn dc_job_send_msg(mut context: *mut dc_context_t, mut msg_id: uint32_t) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t {
from_addr: 0 as *mut libc::c_char,
from_addr: 0 as &libc::c_char,
from_displayname: 0 as *mut libc::c_char,
selfstatus: 0 as *mut libc::c_char,
recipients_names: 0 as *mut clist,
@@ -1319,7 +1316,7 @@ pub unsafe fn dc_job_send_msg(mut context: *mut dc_context_t, mut msg_id: uint32
|| (*mimefactory.msg).type_0 == 50i32
|| (*mimefactory.msg).type_0 == 60i32
{
let mut pathNfilename: *mut libc::c_char = dc_param_get(
let mut pathNfilename: &libc::c_char = dc_param_get(
(*mimefactory.msg).param,
'f' as i32,
0 as *const libc::c_char,

View File

@@ -149,7 +149,7 @@ pub unsafe fn dc_key_set_from_base64(
pub unsafe fn dc_key_set_from_file(
mut key: *mut dc_key_t,
mut pathNfilename: *const libc::c_char,
mut context: *mut dc_context_t,
mut context: &dc_context_t,
) -> libc::c_int {
let mut current_block: u64;
let mut buf: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -465,7 +465,7 @@ pub unsafe fn dc_key_render_asc(
pub unsafe fn dc_key_render_asc_to_file(
mut key: *const dc_key_t,
mut file: *const libc::c_char,
mut context: *mut dc_context_t,
mut context: &dc_context_t,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut file_content: *mut libc::c_char = 0 as *mut libc::c_char;

View File

@@ -5,8 +5,8 @@ use crate::types::*;
/* yes: uppercase */
/* library private: key-history */
pub unsafe fn dc_add_to_keyhistory(
_context: *mut dc_context_t,
pub fn dc_add_to_keyhistory(
_context: &dc_context_t,
_rfc724_mid: *const libc::c_char,
_sending_time: time_t,
_addr: *const libc::c_char,

View File

@@ -42,7 +42,7 @@ pub struct dc_kml_t {
// location streaming
pub unsafe fn dc_send_locations_to_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut seconds: libc::c_int,
) {
@@ -126,13 +126,13 @@ pub unsafe fn dc_send_locations_to_chat(
/* ******************************************************************************
* job to send locations out to all chats that want them
******************************************************************************/
unsafe fn schedule_MAYBE_SEND_LOCATIONS(mut context: *mut dc_context_t, mut flags: libc::c_int) {
unsafe fn schedule_MAYBE_SEND_LOCATIONS(mut context: &dc_context_t, mut flags: libc::c_int) {
if 0 != flags & 0x1i32 || 0 == dc_job_action_exists(context, 5005i32) {
dc_job_add(context, 5005i32, 0i32, 0 as *const libc::c_char, 60i32);
};
}
pub unsafe extern "C" fn dc_is_sending_locations_to_chat(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
) -> libc::c_int {
let mut is_sending_locations: libc::c_int = 0i32;
@@ -162,7 +162,7 @@ pub unsafe extern "C" fn dc_is_sending_locations_to_chat(
return is_sending_locations;
}
pub unsafe fn dc_set_location(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut latitude: libc::c_double,
mut longitude: libc::c_double,
mut accuracy: libc::c_double,
@@ -212,7 +212,7 @@ pub unsafe fn dc_set_location(
return continue_streaming;
}
pub unsafe fn dc_get_locations(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
mut timestamp_from: time_t,
@@ -294,7 +294,7 @@ unsafe fn is_marker(mut txt: *const libc::c_char) -> libc::c_int {
}
return 0i32;
}
pub unsafe fn dc_delete_all_locations(mut context: *mut dc_context_t) {
pub unsafe fn dc_delete_all_locations(mut context: &dc_context_t) {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
stmt = dc_sqlite3_prepare(
@@ -312,7 +312,7 @@ pub unsafe fn dc_delete_all_locations(mut context: *mut dc_context_t) {
sqlite3_finalize(stmt);
}
pub unsafe fn dc_get_location_kml(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut last_added_location_id: *mut uint32_t,
) -> *mut libc::c_char {
@@ -449,7 +449,7 @@ unsafe fn get_kml_timestamp(mut utc: time_t) -> *mut libc::c_char {
}
pub unsafe fn dc_get_message_kml(
context: *const dc_context_t,
context: &dc_context_t,
timestamp: time_t,
latitude: libc::c_double,
longitude: libc::c_double,
@@ -485,7 +485,7 @@ pub unsafe fn dc_get_message_kml(
}
pub unsafe fn dc_set_kml_sent_timestamp(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut timestamp: time_t,
) {
@@ -501,7 +501,7 @@ pub unsafe fn dc_set_kml_sent_timestamp(
sqlite3_finalize(stmt);
}
pub unsafe fn dc_set_msg_location_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_id: uint32_t,
mut location_id: uint32_t,
) {
@@ -516,7 +516,7 @@ pub unsafe fn dc_set_msg_location_id(
sqlite3_finalize(stmt);
}
pub unsafe fn dc_save_locations(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut contact_id: uint32_t,
mut locations: *const dc_array_t,
@@ -579,7 +579,7 @@ pub unsafe fn dc_save_locations(
return newest_location_id;
}
pub unsafe fn dc_kml_parse(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut content: *const libc::c_char,
mut content_bytes: size_t,
) -> *mut dc_kml_t {
@@ -762,10 +762,7 @@ pub unsafe fn dc_kml_unref(mut kml: *mut dc_kml_t) {
free((*kml).addr as *mut libc::c_void);
free(kml as *mut libc::c_void);
}
pub unsafe fn dc_job_do_DC_JOB_MAYBE_SEND_LOCATIONS(
context: *mut dc_context_t,
_job: *mut dc_job_t,
) {
pub unsafe fn dc_job_do_DC_JOB_MAYBE_SEND_LOCATIONS(context: &dc_context_t, _job: *mut dc_job_t) {
let mut stmt_chats: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt_locations: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut now: time_t = time(0 as *mut time_t);
@@ -845,7 +842,7 @@ pub unsafe fn dc_job_do_DC_JOB_MAYBE_SEND_LOC_ENDED(
let mut chat_id: uint32_t = (*job).foreign_id;
let mut locations_send_begin: time_t = 0i32 as time_t;
let mut locations_send_until: time_t = 0i32 as time_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stock_str: *mut libc::c_char = 0 as *mut libc::c_char;
stmt = dc_sqlite3_prepare(
(*context).sql,

View File

@@ -7,7 +7,7 @@ use crate::types::*;
use crate::x::*;
pub unsafe extern "C" fn dc_log_event(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut event_code: Event,
mut data1: libc::c_int,
mut msg: *const libc::c_char,
@@ -23,7 +23,7 @@ usually not reported using dc_log_error() - its up to the caller to
decide, what should be reported or done. However, these "Normal" errors
are usually logged by dc_log_warning(). */
unsafe fn log_vprintf(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut event: Event,
mut data1: libc::c_int,
mut msg_format: *const libc::c_char,
@@ -52,7 +52,7 @@ unsafe fn log_vprintf(
free(msg as *mut libc::c_void);
}
pub unsafe extern "C" fn dc_log_event_seq(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut event_code: Event,
mut sequence_start: *mut libc::c_int,
mut msg: *const libc::c_char,
@@ -68,7 +68,7 @@ pub unsafe extern "C" fn dc_log_event_seq(
*sequence_start = 0i32;
}
pub unsafe extern "C" fn dc_log_error(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut data1: libc::c_int,
mut msg: *const libc::c_char,
mut va_1: ...
@@ -76,7 +76,7 @@ pub unsafe extern "C" fn dc_log_error(
log_vprintf(context, Event::ERROR, data1, msg, va_1);
}
pub unsafe extern "C" fn dc_log_warning(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut data1: libc::c_int,
mut msg: *const libc::c_char,
mut va_2: ...
@@ -84,7 +84,7 @@ pub unsafe extern "C" fn dc_log_warning(
log_vprintf(context, Event::WARNING, data1, msg, va_2);
}
pub unsafe extern "C" fn dc_log_info(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut data1: libc::c_int,
mut msg: *const libc::c_char,
mut va_3: ...

View File

@@ -115,7 +115,7 @@ pub unsafe fn dc_lot_fill(
mut msg: *const dc_msg_t,
mut chat: *const dc_chat_t,
mut contact: *const dc_contact_t,
mut context: *mut dc_context_t,
mut context: &dc_context_t,
) {
if lot.is_null() || (*lot).magic != 0x107107i32 as libc::c_uint || msg.is_null() {
return;

View File

@@ -47,10 +47,7 @@ pub const DC_MF_MDN_LOADED: dc_mimefactory_loaded_t = 2;
pub const DC_MF_MSG_LOADED: dc_mimefactory_loaded_t = 1;
pub const DC_MF_NOTHING_LOADED: dc_mimefactory_loaded_t = 0;
pub unsafe fn dc_mimefactory_init(
mut factory: *mut dc_mimefactory_t,
mut context: *mut dc_context_t,
) {
pub unsafe fn dc_mimefactory_init(mut factory: *mut dc_mimefactory_t, mut context: &dc_context_t) {
if factory.is_null() || context.is_null() {
return;
}
@@ -128,7 +125,7 @@ pub unsafe fn dc_mimefactory_load_msg(
clist_insert_after(
(*factory).recipients_names,
(*(*factory).recipients_names).last,
dc_strdup_keep_null((*factory).from_displayname) as *mut libc::c_void,
dc_strdup_keep_null((*factory).from_displayname) as &libc::c_void,
);
clist_insert_after(
(*factory).recipients_addr,
@@ -1060,7 +1057,7 @@ unsafe fn get_subject(
let mut context: *mut dc_context_t = if !chat.is_null() {
(*chat).context
} else {
0 as *mut dc_context_t
std::ptr::null_mut()
};
let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
let mut raw_subject: *mut libc::c_char =

View File

@@ -62,7 +62,7 @@ pub unsafe fn dc_no_compound_msgs() {
static mut s_generate_compound_msgs: libc::c_int = 1i32;
pub unsafe fn dc_mimeparser_new(
mut blobdir: *const libc::c_char,
mut context: *mut dc_context_t,
mut context: &dc_context_t,
) -> *mut dc_mimeparser_t {
let mut mimeparser: *mut dc_mimeparser_t = 0 as *mut dc_mimeparser_t;
mimeparser = calloc(1, ::std::mem::size_of::<dc_mimeparser_t>()) as *mut dc_mimeparser_t;
@@ -814,11 +814,7 @@ unsafe fn dc_mimeparser_parse_mime_recursive(
}
return any_part_added;
}
unsafe fn hash_header(
out: *mut dc_hash_t,
in_0: *const mailimf_fields,
_context: *mut dc_context_t,
) {
unsafe fn hash_header(out: *mut dc_hash_t, in_0: *const mailimf_fields, _context: &dc_context_t) {
if in_0.is_null() {
return;
}

View File

@@ -7,7 +7,7 @@ use crate::dc_sqlite3::*;
use crate::types::*;
pub unsafe fn dc_do_heuristics_moves(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut folder: *const libc::c_char,
mut msg_id: uint32_t,
) {

View File

@@ -48,7 +48,7 @@ pub struct dc_msg_t {
// handle messages
pub unsafe fn dc_get_msg_info(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_id: uint32_t,
) -> *mut libc::c_char {
let mut e2ee_errors: libc::c_int = 0;
@@ -292,7 +292,7 @@ pub unsafe fn dc_get_msg_info(
free(rawtxt as *mut libc::c_void);
return ret.buf;
}
pub unsafe fn dc_msg_new_untyped(mut context: *mut dc_context_t) -> *mut dc_msg_t {
pub unsafe fn dc_msg_new_untyped(mut context: &dc_context_t) -> *mut dc_msg_t {
return dc_msg_new(context, 0i32);
}
/* *
@@ -305,10 +305,7 @@ pub unsafe fn dc_msg_new_untyped(mut context: *mut dc_context_t) -> *mut dc_msg_
// to check if a mail was sent, use dc_msg_is_sent()
// approx. max. lenght returned by dc_msg_get_text()
// approx. max. lenght returned by dc_get_msg_info()
pub unsafe fn dc_msg_new(
mut context: *mut dc_context_t,
mut viewtype: libc::c_int,
) -> *mut dc_msg_t {
pub unsafe fn dc_msg_new(mut context: &dc_context_t, mut viewtype: libc::c_int) -> *mut dc_msg_t {
let mut msg: *mut dc_msg_t = 0 as *mut dc_msg_t;
msg = calloc(1, ::std::mem::size_of::<dc_msg_t>()) as *mut dc_msg_t;
if msg.is_null() {
@@ -508,7 +505,7 @@ pub unsafe fn dc_msg_load_from_db(
mut id: uint32_t,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(msg.is_null()
|| (*msg).magic != 0x11561156i32 as libc::c_uint
|| context.is_null()
@@ -611,7 +608,7 @@ pub unsafe fn dc_get_mime_headers(
mut context: *mut dc_context_t,
mut msg_id: uint32_t,
) -> *mut libc::c_char {
let mut eml: *mut libc::c_char = 0 as *mut libc::c_char;
let mut eml: &libc::c_char = 0 as *mut libc::c_char;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
stmt = dc_sqlite3_prepare(
@@ -664,11 +661,11 @@ pub unsafe fn dc_delete_msgs(
};
}
pub unsafe fn dc_update_msg_chat_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut msg_id: uint32_t,
mut chat_id: uint32_t,
) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE msgs SET chat_id=? WHERE id=?;\x00" as *const u8 as *const libc::c_char,
);
@@ -687,7 +684,7 @@ pub unsafe fn dc_markseen_msgs(
let mut send_event: libc::c_int = 0i32;
let mut curr_state: libc::c_int = 0i32;
let mut curr_blocked: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint
|| msg_ids.is_null()
@@ -752,7 +749,7 @@ pub unsafe fn dc_update_msg_state(
mut msg_id: uint32_t,
mut state: libc::c_int,
) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE msgs SET state=? WHERE id=?;\x00" as *const u8 as *const libc::c_char,
);
@@ -776,7 +773,7 @@ pub unsafe fn dc_star_msgs(
return;
}
dc_sqlite3_begin_transaction((*context).sql);
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE msgs SET starred=? WHERE id=?;\x00" as *const u8 as *const libc::c_char,
);
@@ -803,7 +800,7 @@ pub unsafe fn dc_get_msg(mut context: *mut dc_context_t, mut msg_id: uint32_t) -
return obj;
} else {
dc_msg_unref(obj);
return 0 as *mut dc_msg_t;
return 0 as &dc_msg_t;
};
}
pub unsafe fn dc_msg_get_id(mut msg: *const dc_msg_t) -> uint32_t {
@@ -976,7 +973,7 @@ pub unsafe fn dc_msg_get_summarytext_by_raw(
mut context: *mut dc_context_t,
) -> *mut libc::c_char {
/* get a summary text, result must be free()'d, never returns NULL. */
let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
let mut ret: &libc::c_char = 0 as *mut libc::c_char;
let mut prefix: *mut libc::c_char = 0 as *mut libc::c_char;
let mut pathNfilename: *mut libc::c_char = 0 as *mut libc::c_char;
let mut label: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -1226,7 +1223,7 @@ pub unsafe fn dc_msg_new_load(
mut context: *mut dc_context_t,
mut msg_id: uint32_t,
) -> *mut dc_msg_t {
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context);
let mut msg: &dc_msg_t = dc_msg_new_untyped(context);
dc_msg_load_from_db(msg, context, msg_id);
return msg;
}
@@ -1241,7 +1238,7 @@ pub unsafe fn dc_delete_msg_from_db(mut context: *mut dc_context_t, mut msg_id:
sqlite3_bind_int(stmt, 1i32, (*msg).id as libc::c_int);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
stmt = 0 as *mut sqlite3_stmt;
stmt = 0 as &sqlite3_stmt;
stmt = dc_sqlite3_prepare(
(*context).sql,
b"DELETE FROM msgs_mdns WHERE msg_id=?;\x00" as *const u8 as *const libc::c_char,
@@ -1282,13 +1279,13 @@ pub unsafe fn dc_msg_exists(mut context: *mut dc_context_t, mut msg_id: uint32_t
return msg_exists;
}
pub unsafe fn dc_update_msg_move_state(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char,
mut state: dc_move_state_t,
) {
// we update the move_state for all messages belonging to a given Message-ID
// so that the state stay intact when parts are deleted
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE msgs SET move_state=? WHERE rfc724_mid=?;\x00" as *const u8 as *const libc::c_char,
);
@@ -1302,7 +1299,7 @@ pub unsafe fn dc_set_msg_failed(
mut msg_id: uint32_t,
mut error: *const libc::c_char,
) {
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context);
let mut msg: &dc_msg_t = dc_msg_new_untyped(context);
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(0 == dc_msg_load_from_db(msg, context, msg_id)) {
if 18i32 == (*msg).state || 20i32 == (*msg).state || 26i32 == (*msg).state {
@@ -1341,7 +1338,7 @@ pub unsafe fn dc_mdn_from_ext(
mut from_id: uint32_t,
mut rfc724_mid: *const libc::c_char,
mut timestamp_sent: time_t,
mut ret_chat_id: *mut uint32_t,
mut ret_chat_id: &uint32_t,
mut ret_msg_id: *mut uint32_t,
) -> libc::c_int {
let mut chat_type: libc::c_int = 0;
@@ -1466,7 +1463,7 @@ pub unsafe fn dc_get_real_msg_cnt(mut context: *mut dc_context_t) -> size_t {
sqlite3_finalize(stmt);
return ret;
}
pub unsafe fn dc_get_deaddrop_msg_cnt(mut context: *mut dc_context_t) -> size_t {
pub unsafe fn dc_get_deaddrop_msg_cnt(mut context: &dc_context_t) -> size_t {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut ret: size_t = 0i32 as size_t;
if !(context.is_null()
@@ -1485,12 +1482,12 @@ pub unsafe fn dc_get_deaddrop_msg_cnt(mut context: *mut dc_context_t) -> size_t
return ret;
}
pub unsafe fn dc_rfc724_mid_cnt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char,
) -> libc::c_int {
/* check the number of messages with the same rfc724_mid */
let mut ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint
|| (*(*context).sql).cobj.is_null())
@@ -1512,7 +1509,7 @@ pub unsafe fn dc_rfc724_mid_exists(
mut context: *mut dc_context_t,
mut rfc724_mid: *const libc::c_char,
mut ret_server_folder: *mut *mut libc::c_char,
mut ret_server_uid: *mut uint32_t,
mut ret_server_uid: &uint32_t,
) -> uint32_t {
let mut ret: uint32_t = 0i32 as uint32_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
@@ -1552,7 +1549,7 @@ pub unsafe fn dc_update_server_uid(
mut server_folder: *const libc::c_char,
mut server_uid: uint32_t,
) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql,
b"UPDATE msgs SET server_folder=?, server_uid=? WHERE rfc724_mid=?;\x00" as *const u8
as *const libc::c_char,

View File

@@ -22,7 +22,7 @@ pub struct oauth2_t {
}
pub unsafe fn dc_get_oauth2_url(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut redirect_uri: *const libc::c_char,
) -> *mut libc::c_char {
@@ -124,7 +124,7 @@ unsafe fn get_info(mut addr: *const libc::c_char) -> *mut oauth2_t {
// the following function may block due http-requests;
// must not be called from the main thread or by the ui!
pub unsafe fn dc_get_oauth2_access_token(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut code: *const libc::c_char,
mut flags: libc::c_int,
@@ -479,7 +479,7 @@ unsafe extern "C" fn jsoneq(
}
return -1i32;
}
unsafe fn is_expired(mut context: *mut dc_context_t) -> libc::c_int {
unsafe fn is_expired(mut context: &dc_context_t) -> libc::c_int {
let mut expire_timestamp: time_t = dc_sqlite3_get_config_int64(
(*context).sql,
b"oauth2_timestamp_expires\x00" as *const u8 as *const libc::c_char,
@@ -494,7 +494,7 @@ unsafe fn is_expired(mut context: *mut dc_context_t) -> libc::c_int {
return 1i32;
}
pub unsafe fn dc_get_oauth2_addr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut code: *const libc::c_char,
) -> *mut libc::c_char {
@@ -522,7 +522,7 @@ pub unsafe fn dc_get_oauth2_addr(
return addr_out;
}
unsafe fn get_oauth2_addr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut oauth2: *const oauth2_t,
mut access_token: *const libc::c_char,
) -> *mut libc::c_char {

View File

@@ -130,7 +130,7 @@ pub unsafe fn dc_split_armored_data(
}
/* public key encryption */
pub unsafe fn dc_pgp_create_keypair(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut addr: *const libc::c_char,
mut ret_public_key: *mut dc_key_t,
mut ret_private_key: *mut dc_key_t,
@@ -190,7 +190,7 @@ pub unsafe fn dc_pgp_create_keypair(
return success;
}
/* returns 0 if there is no error, otherwise logs the error if a context is provided and returns 1*/
pub unsafe fn dc_pgp_handle_rpgp_error(mut context: *mut dc_context_t) -> libc::c_int {
pub unsafe fn dc_pgp_handle_rpgp_error(mut context: &dc_context_t) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut len: libc::c_int = 0i32;
let mut msg: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -213,7 +213,7 @@ pub unsafe fn dc_pgp_handle_rpgp_error(mut context: *mut dc_context_t) -> libc::
return success;
}
pub unsafe fn dc_pgp_is_valid_key(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut raw_key: *const dc_key_t,
) -> libc::c_int {
let mut key_is_valid: libc::c_int = 0i32;
@@ -261,9 +261,9 @@ pub unsafe fn dc_pgp_calc_fingerprint(
(*raw_key).binary as *const uint8_t,
(*raw_key).bytes as usize,
);
if !(0 != dc_pgp_handle_rpgp_error(0 as *mut dc_context_t)) {
if !(0 != dc_pgp_handle_rpgp_error(0 as &dc_context_t)) {
fingerprint = rpgp::rpgp_key_fingerprint(key);
if !(0 != dc_pgp_handle_rpgp_error(0 as *mut dc_context_t)) {
if !(0 != dc_pgp_handle_rpgp_error(0 as &dc_context_t)) {
*ret_fingerprint_bytes = rpgp::rpgp_cvec_len(fingerprint) as size_t;
*ret_fingerprint = malloc(*ret_fingerprint_bytes) as *mut uint8_t;
memcpy(
@@ -284,7 +284,7 @@ pub unsafe fn dc_pgp_calc_fingerprint(
return success;
}
pub unsafe fn dc_pgp_split_key(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut private_in: *const dc_key_t,
mut ret_public_key: *mut dc_key_t,
) -> libc::c_int {
@@ -333,7 +333,7 @@ pub unsafe fn dc_pgp_split_key(
return success;
}
pub unsafe fn dc_pgp_pk_encrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut plain_text: *const libc::c_void,
mut plain_bytes: size_t,
mut raw_public_keys_for_encryption: *const dc_keyring_t,
@@ -502,7 +502,7 @@ pub unsafe fn dc_pgp_pk_encrypt(
return success;
}
pub unsafe fn dc_pgp_pk_decrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut ctext: *const libc::c_void,
mut ctext_bytes: size_t,
mut raw_private_keys_for_decryption: *const dc_keyring_t,
@@ -665,7 +665,7 @@ pub unsafe fn dc_pgp_pk_decrypt(
}
/* symm. encryption */
pub unsafe fn dc_pgp_symm_encrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut passphrase: *const libc::c_char,
mut plain: *const libc::c_void,
mut plain_bytes: size_t,
@@ -697,7 +697,7 @@ pub unsafe fn dc_pgp_symm_encrypt(
return success;
}
pub unsafe fn dc_pgp_symm_decrypt(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut passphrase: *const libc::c_char,
mut ctext: *const libc::c_void,
mut ctext_bytes: size_t,

View File

@@ -24,7 +24,7 @@ use crate::x::*;
// text1=URL
// text1=error string
pub unsafe fn dc_check_qr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut qr: *const libc::c_char,
) -> *mut dc_lot_t {
let mut current_block: u64;

View File

@@ -1042,7 +1042,7 @@ pub unsafe fn dc_receive_imf(
* Misc. Tools
******************************************************************************/
unsafe fn calc_timestamps(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut chat_id: uint32_t,
mut from_id: uint32_t,
mut message_timestamp: time_t,
@@ -1093,7 +1093,7 @@ which tries to create or find out the chat_id by:
So when the function returns, the caller has the group id matching the current
state of the group. */
unsafe fn create_or_lookup_group(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime_parser: *mut dc_mimeparser_t,
mut allow_creation: libc::c_int,
mut create_blocked: libc::c_int,
@@ -1559,7 +1559,7 @@ unsafe fn create_or_lookup_group(
* Handle groups for received messages
******************************************************************************/
unsafe fn create_or_lookup_adhoc_group(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime_parser: *mut dc_mimeparser_t,
mut allow_creation: libc::c_int,
mut create_blocked: libc::c_int,
@@ -1673,7 +1673,7 @@ unsafe fn create_or_lookup_adhoc_group(
};
}
unsafe fn create_group_record(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut grpid: *const libc::c_char,
mut grpname: *const libc::c_char,
mut create_blocked: libc::c_int,
@@ -1706,7 +1706,7 @@ unsafe fn create_group_record(
return chat_id;
}
unsafe fn create_adhoc_grp_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut member_ids: *mut dc_array_t,
) -> *mut libc::c_char {
/* algorithm:
@@ -1791,7 +1791,7 @@ unsafe fn create_adhoc_grp_id(
return ret;
}
unsafe fn search_chat_ids_by_contact_ids(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut unsorted_contact_ids: *const dc_array_t,
) -> *mut dc_array_t {
/* searches chat_id's by the given contact IDs, may return zero, one or more chat_id's */
@@ -1859,7 +1859,7 @@ unsafe fn search_chat_ids_by_contact_ids(
return chat_ids;
}
unsafe fn check_verified_properties(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mimeparser: *mut dc_mimeparser_t,
mut from_id: uint32_t,
mut to_ids: *const dc_array_t,
@@ -2018,7 +2018,7 @@ unsafe fn set_better_msg(
};
}
unsafe fn dc_is_reply_to_known_message(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime_parser: *mut dc_mimeparser_t,
) -> libc::c_int {
/* check if the message is a reply to a known message; the replies are identified by the Message-ID from
@@ -2067,7 +2067,7 @@ unsafe fn dc_is_reply_to_known_message(
return 0i32;
}
unsafe fn is_known_rfc724_mid_in_list(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mid_list: *const clist,
) -> libc::c_int {
if !mid_list.is_null() {
@@ -2097,7 +2097,7 @@ unsafe fn is_known_rfc724_mid_in_list(
* Check if a message is a reply to a known message (messenger or non-messenger)
******************************************************************************/
unsafe fn is_known_rfc724_mid(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char,
) -> libc::c_int {
let mut is_known: libc::c_int = 0i32;
@@ -2115,7 +2115,7 @@ unsafe fn is_known_rfc724_mid(
return is_known;
}
unsafe fn dc_is_reply_to_messenger_message(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mime_parser: *mut dc_mimeparser_t,
) -> libc::c_int {
/* function checks, if the message defined by mime_parser references a message send by us from Delta Chat.
@@ -2157,7 +2157,7 @@ unsafe fn dc_is_reply_to_messenger_message(
return 0i32;
}
unsafe fn is_msgrmsg_rfc724_mid_in_list(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mid_list: *const clist,
) -> libc::c_int {
if !mid_list.is_null() {
@@ -2186,7 +2186,7 @@ unsafe fn is_msgrmsg_rfc724_mid_in_list(
* Check if a message is a reply to any messenger message
******************************************************************************/
unsafe fn is_msgrmsg_rfc724_mid(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char,
) -> libc::c_int {
let mut is_msgrmsg: libc::c_int = 0i32;
@@ -2205,7 +2205,7 @@ unsafe fn is_msgrmsg_rfc724_mid(
return is_msgrmsg;
}
unsafe fn dc_add_or_lookup_contacts_by_address_list(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut adr_list: *const mailimf_address_list,
mut origin: libc::c_int,
mut ids: *mut dc_array_t,
@@ -2256,7 +2256,7 @@ unsafe fn dc_add_or_lookup_contacts_by_address_list(
}
}
unsafe fn dc_add_or_lookup_contacts_by_mailbox_list(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mb_list: *const mailimf_mailbox_list,
mut origin: libc::c_int,
mut ids: *mut dc_array_t,
@@ -2293,7 +2293,7 @@ unsafe fn dc_add_or_lookup_contacts_by_mailbox_list(
* Add contacts to database on receiving messages
******************************************************************************/
unsafe fn add_or_lookup_contact_by_addr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut display_name_enc: *const libc::c_char,
mut addr_spec: *const libc::c_char,
mut origin: libc::c_int,

View File

@@ -25,7 +25,7 @@ use crate::types::*;
use crate::x::*;
pub unsafe fn dc_get_securejoin_qr(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut group_chat_id: uint32_t,
) -> *mut libc::c_char {
let mut current_block: u64;
@@ -145,7 +145,7 @@ pub unsafe fn dc_get_securejoin_qr(
dc_strdup(0 as *const libc::c_char)
};
}
unsafe fn get_self_fingerprint(mut context: *mut dc_context_t) -> *mut libc::c_char {
unsafe fn get_self_fingerprint(mut context: &dc_context_t) -> *mut libc::c_char {
let mut self_addr: *mut libc::c_char = 0 as *mut libc::c_char;
let mut self_key: *mut dc_key_t = dc_key_new();
let mut fingerprint: *mut libc::c_char = 0 as *mut libc::c_char;
@@ -163,7 +163,7 @@ unsafe fn get_self_fingerprint(mut context: *mut dc_context_t) -> *mut libc::c_c
return fingerprint;
}
pub unsafe fn dc_join_securejoin(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut qr: *const libc::c_char,
) -> uint32_t {
/* ==========================================================
@@ -290,7 +290,7 @@ pub unsafe fn dc_join_securejoin(
return ret_chat_id as uint32_t;
}
unsafe fn send_handshake_msg(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_chat_id: uint32_t,
mut step: *const libc::c_char,
mut param2: *const libc::c_char,
@@ -326,7 +326,7 @@ unsafe fn send_handshake_msg(
dc_msg_unref(msg);
}
unsafe fn chat_id_2_contact_id(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut contact_chat_id: uint32_t,
) -> uint32_t {
let mut contact_id: uint32_t = 0i32 as uint32_t;
@@ -338,7 +338,7 @@ unsafe fn chat_id_2_contact_id(
return contact_id;
}
unsafe fn fingerprint_equals_sender(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut fingerprint: *const libc::c_char,
mut contact_chat_id: uint32_t,
) -> libc::c_int {
@@ -369,7 +369,7 @@ unsafe fn fingerprint_equals_sender(
}
/* library private: secure-join */
pub unsafe fn dc_handle_securejoin_handshake(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut mimeparser: *mut dc_mimeparser_t,
mut contact_id: uint32_t,
) -> libc::c_int {
@@ -896,14 +896,11 @@ pub unsafe fn dc_handle_securejoin_handshake(
free(grpid as *mut libc::c_void);
return ret;
}
unsafe fn end_bobs_joining(mut context: *mut dc_context_t, mut status: libc::c_int) {
unsafe fn end_bobs_joining(mut context: &dc_context_t, mut status: libc::c_int) {
(*context).bobs_status = status;
dc_stop_ongoing_process(context);
}
unsafe fn secure_connection_established(
mut context: *mut dc_context_t,
mut contact_chat_id: uint32_t,
) {
unsafe fn secure_connection_established(mut context: &dc_context_t, mut contact_chat_id: uint32_t) {
let mut contact_id: uint32_t = chat_id_2_contact_id(context, contact_chat_id);
let mut contact: *mut dc_contact_t = dc_get_contact(context, contact_id);
let mut msg: *mut libc::c_char = dc_stock_str_repl_string(
@@ -949,7 +946,7 @@ unsafe fn could_not_establish_secure_connection(
mut details: *const libc::c_char,
) {
let mut contact_id: uint32_t = chat_id_2_contact_id(context, contact_chat_id);
let mut contact: *mut dc_contact_t = dc_get_contact(context, contact_id);
let mut contact: &dc_contact_t = dc_get_contact(context, contact_id);
let mut msg: *mut libc::c_char = dc_stock_str_repl_string(
context,
36i32,
@@ -975,7 +972,7 @@ unsafe fn mark_peer_as_verified(
mut fingerprint: *const libc::c_char,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
let mut peerstate: *mut dc_apeerstate_t = dc_apeerstate_new(context);
let mut peerstate: &dc_apeerstate_t = dc_apeerstate_new(context);
if !(0 == dc_apeerstate_load_by_fingerprint(peerstate, (*context).sql, fingerprint)) {
if !(0 == dc_apeerstate_set_verified(peerstate, 1i32, fingerprint, 2i32)) {
(*peerstate).prefer_encrypt = 1i32;
@@ -1040,7 +1037,7 @@ pub unsafe fn dc_handle_degrade_event(
mut context: *mut dc_context_t,
mut peerstate: *mut dc_apeerstate_t,
) {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut stmt: &sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut contact_id: uint32_t = 0i32 as uint32_t;
let mut contact_chat_id: uint32_t = 0i32 as uint32_t;
if !(context.is_null() || peerstate.is_null()) {

View File

@@ -34,85 +34,80 @@ pub fn dc_smtp_new() -> dc_smtp_t {
}
}
pub unsafe fn dc_smtp_unref(mut smtp: *mut dc_smtp_t) {
if smtp.is_null() {
return;
}
pub unsafe fn dc_smtp_unref(smtp: &mut dc_smtp_t) {
dc_smtp_disconnect(smtp);
free((*smtp).from as *mut libc::c_void);
free((*smtp).error as *mut libc::c_void);
free(smtp.from as *mut libc::c_void);
free(smtp.error as *mut libc::c_void);
free(smtp as *mut libc::c_void);
}
pub unsafe fn dc_smtp_disconnect(mut smtp: *mut dc_smtp_t) {
if smtp.is_null() {
return;
pub unsafe fn dc_smtp_disconnect(smtp: &mut dc_smtp_t) {
if !smtp.etpan.is_null() {
mailsmtp_free(smtp.etpan);
smtp.etpan = 0 as *mut mailsmtp;
}
if !(*smtp).etpan.is_null() {
mailsmtp_free((*smtp).etpan);
(*smtp).etpan = 0 as *mut mailsmtp
};
}
pub unsafe fn dc_smtp_is_connected(mut smtp: *const dc_smtp_t) -> libc::c_int {
return if !smtp.is_null() && !(*smtp).etpan.is_null() {
1i32
pub unsafe fn dc_smtp_is_connected(smtp: *const dc_smtp_t) -> libc::c_int {
if !smtp.etpan.is_null() {
1
} else {
0i32
};
}
pub unsafe fn dc_smtp_connect(
mut smtp: *mut dc_smtp_t,
mut lp: *const dc_loginparam_t,
) -> libc::c_int {
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
let mut r: libc::c_int = 0i32;
let mut try_esmtp: libc::c_int = 0i32;
if smtp.is_null() || lp.is_null() {
return 0i32;
0
}
if !(*smtp).etpan.is_null() {
}
pub unsafe fn dc_smtp_connect(smtp: &mut dc_smtp_t, lp: *const dc_loginparam_t) -> libc::c_int {
let mut current_block: u64;
let mut success: libc::c_int = 0;
let mut r: libc::c_int = 0;
let mut try_esmtp: libc::c_int = 0;
if lp.is_null() {
return 0;
}
if !smtp.etpan.is_null() {
dc_log_warning(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP already connected.\x00" as *const u8 as *const libc::c_char,
);
success = 1i32
} else if (*lp).addr.is_null() || (*lp).send_server.is_null() || (*lp).send_port == 0i32 {
success = 1;
} else if (*lp).addr.is_null() || (*lp).send_server.is_null() || (*lp).send_port == 0 {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP bad parameters.\x00" as *const u8 as *const libc::c_char,
);
} else {
free((*smtp).from as *mut libc::c_void);
(*smtp).from = dc_strdup((*lp).addr);
(*smtp).etpan = mailsmtp_new(0i32 as size_t, None);
if (*smtp).etpan.is_null() {
free(smtp.from as *mut libc::c_void);
smtp.from = dc_strdup((*lp).addr);
smtp.etpan = mailsmtp_new(0 as size_t, None);
if smtp.etpan.is_null() {
dc_log_error(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-object creation failed.\x00" as *const u8 as *const libc::c_char,
);
} else {
mailsmtp_set_timeout((*smtp).etpan, 10i32 as time_t);
mailsmtp_set_timeout(smtp.etpan, 10 as time_t);
mailsmtp_set_progress_callback(
(*smtp).etpan,
smtp.etpan,
Some(body_progress),
smtp as *mut libc::c_void,
);
/* connect to SMTP server */
if 0 != (*lp).server_flags & (0x10000i32 | 0x40000i32) {
if 0 != (*lp).server_flags & (0x10000 | 0x40000) {
r = mailsmtp_socket_connect(
(*smtp).etpan,
smtp.etpan,
(*lp).send_server,
(*lp).send_port as uint16_t,
);
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP-Socket connection to %s:%i failed (%s)\x00" as *const u8
as *const libc::c_char,
(*lp).send_server,
@@ -125,15 +120,15 @@ pub unsafe fn dc_smtp_connect(
}
} else {
r = mailsmtp_ssl_connect(
(*smtp).etpan,
smtp.etpan,
(*lp).send_server,
(*lp).send_port as uint16_t,
);
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP-SSL connection to %s:%i failed (%s)\x00" as *const u8
as *const libc::c_char,
(*lp).send_server,
@@ -148,54 +143,54 @@ pub unsafe fn dc_smtp_connect(
match current_block {
12512295087047028901 => {}
_ => {
try_esmtp = 1i32;
(*smtp).esmtp = 0i32;
try_esmtp = 1;
smtp.esmtp = 0;
if 0 != try_esmtp && {
r = mailesmtp_ehlo((*smtp).etpan);
r = mailesmtp_ehlo(smtp.etpan);
r == MAILSMTP_NO_ERROR as libc::c_int
} {
(*smtp).esmtp = 1i32
smtp.esmtp = 1
} else if 0 == try_esmtp || r == MAILSMTP_ERROR_NOT_IMPLEMENTED as libc::c_int {
r = mailsmtp_helo((*smtp).etpan)
r = mailsmtp_helo(smtp.etpan)
}
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP-helo failed (%s)\x00" as *const u8 as *const libc::c_char,
mailsmtp_strerror(r),
);
} else {
if 0 != (*lp).server_flags & 0x10000i32 {
r = mailsmtp_socket_starttls((*smtp).etpan);
if 0 != (*lp).server_flags & 0x10000 {
r = mailsmtp_socket_starttls(smtp.etpan);
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP-STARTTLS failed (%s)\x00" as *const u8
as *const libc::c_char,
mailsmtp_strerror(r),
);
current_block = 12512295087047028901;
} else {
(*smtp).esmtp = 0i32;
smtp.esmtp = 0;
if 0 != try_esmtp && {
r = mailesmtp_ehlo((*smtp).etpan);
r = mailesmtp_ehlo(smtp.etpan);
r == MAILSMTP_NO_ERROR as libc::c_int
} {
(*smtp).esmtp = 1i32
smtp.esmtp = 1
} else if 0 == try_esmtp
|| r == MAILSMTP_ERROR_NOT_IMPLEMENTED as libc::c_int
{
r = mailsmtp_helo((*smtp).etpan)
r = mailsmtp_helo(smtp.etpan)
}
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors as *mut libc::c_int,
&mut smtp.log_connect_errors as *mut libc::c_int,
b"SMTP-helo failed (%s)\x00" as *const u8
as *const libc::c_char,
mailsmtp_strerror(r),
@@ -203,8 +198,8 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901;
} else {
dc_log_info(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-server %s:%i STARTTLS-connected.\x00" as *const u8
as *const libc::c_char,
(*lp).send_server,
@@ -214,10 +209,10 @@ pub unsafe fn dc_smtp_connect(
}
}
} else {
if 0 != (*lp).server_flags & 0x40000i32 {
if 0 != (*lp).server_flags & 0x40000 {
dc_log_info(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-server %s:%i connected.\x00" as *const u8
as *const libc::c_char,
(*lp).send_server,
@@ -225,8 +220,8 @@ pub unsafe fn dc_smtp_connect(
);
} else {
dc_log_info(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-server %s:%i SSL-connected.\x00" as *const u8
as *const libc::c_char,
(*lp).send_server,
@@ -239,35 +234,35 @@ pub unsafe fn dc_smtp_connect(
12512295087047028901 => {}
_ => {
if !(*lp).send_user.is_null() {
if 0 != (*lp).server_flags & 0x2i32 {
if 0 != (*lp).server_flags & 0x2 {
dc_log_info(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-OAuth2 connect...\x00" as *const u8
as *const libc::c_char,
);
let mut access_token: *mut libc::c_char =
dc_get_oauth2_access_token(
(*smtp).context,
smtp.context,
(*lp).addr,
(*lp).send_pw,
0i32,
0,
);
r = mailsmtp_oauth2_authenticate(
(*smtp).etpan,
smtp.etpan,
(*lp).send_user,
access_token,
);
if r != MAILSMTP_NO_ERROR as libc::c_int {
free(access_token as *mut libc::c_void);
access_token = dc_get_oauth2_access_token(
(*smtp).context,
smtp.context,
(*lp).addr,
(*lp).send_pw,
0x1i32,
0x1,
);
r = mailsmtp_oauth2_authenticate(
(*smtp).etpan,
smtp.etpan,
(*lp).send_user,
access_token,
)
@@ -276,7 +271,7 @@ pub unsafe fn dc_smtp_connect(
current_block = 15462640364611497761;
} else {
r = mailsmtp_auth(
(*smtp).etpan,
smtp.etpan,
(*lp).send_user,
(*lp).send_pw,
);
@@ -285,12 +280,12 @@ pub unsafe fn dc_smtp_connect(
* There are some Mailservers which do not correclty implement PLAIN auth (hMail)
* So here we try a workaround. See https://github.com/deltachat/deltachat-android/issues/67
*/
if 0 != (*(*smtp).etpan).auth
if 0 != (*smtp.etpan).auth
& MAILSMTP_AUTH_PLAIN as libc::c_int
{
dc_log_info(
(*smtp).context,
0i32,
smtp.context,
0,
b"Trying SMTP-Login workaround \"%s\"...\x00"
as *const u8
as *const libc::c_char,
@@ -302,10 +297,10 @@ pub unsafe fn dc_smtp_connect(
hostname.as_mut_ptr(),
::std::mem::size_of::<[libc::c_char; 513]>(),
);
if err < 0i32 {
if err < 0 {
dc_log_error(
(*smtp).context,
0i32,
smtp.context,
0,
b"SMTP-Login: Cannot get hostname.\x00"
as *const u8
as *const libc::c_char,
@@ -313,7 +308,7 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901;
} else {
r = mailesmtp_auth_sasl(
(*smtp).etpan,
smtp.etpan,
b"PLAIN\x00" as *const u8
as *const libc::c_char,
hostname.as_mut_ptr(),
@@ -338,9 +333,9 @@ pub unsafe fn dc_smtp_connect(
_ => {
if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq(
(*smtp).context,
smtp.context,
Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors
&mut smtp.log_connect_errors
as *mut libc::c_int,
b"SMTP-login failed for user %s (%s)\x00"
as *const u8
@@ -351,9 +346,9 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901;
} else {
dc_log_event(
(*smtp).context,
smtp.context,
Event::SMTP_CONNECTED,
0i32,
0,
b"SMTP-login as %s ok.\x00" as *const u8
as *const libc::c_char,
(*lp).send_user,
@@ -367,7 +362,7 @@ pub unsafe fn dc_smtp_connect(
}
match current_block {
12512295087047028901 => {}
_ => success = 1i32,
_ => success = 1,
}
}
}
@@ -377,13 +372,14 @@ pub unsafe fn dc_smtp_connect(
}
}
if 0 == success {
if !(*smtp).etpan.is_null() {
mailsmtp_free((*smtp).etpan);
(*smtp).etpan = 0 as *mut mailsmtp
if !smtp.etpan.is_null() {
mailsmtp_free(smtp.etpan);
smtp.etpan = 0 as *mut mailsmtp
}
}
return success;
success
}
unsafe extern "C" fn body_progress(
_current: size_t,
_maximum: size_t,
@@ -392,138 +388,129 @@ unsafe extern "C" fn body_progress(
}
pub unsafe fn dc_smtp_send_msg(
mut smtp: *mut dc_smtp_t,
mut recipients: *const clist,
mut data_not_terminated: *const libc::c_char,
mut data_bytes: size_t,
smtp: &mut dc_smtp_t,
recipients: *const clist,
data_not_terminated: *const libc::c_char,
data_bytes: size_t,
) -> libc::c_int {
let mut current_block: u64;
let mut success: libc::c_int = 0i32;
let mut r: libc::c_int = 0i32;
let mut success: libc::c_int = 0;
let mut r: libc::c_int = 0;
let mut iter: *mut clistiter = 0 as *mut clistiter;
if !smtp.is_null() {
if recipients.is_null()
|| (*recipients).count == 0i32
|| data_not_terminated.is_null()
|| data_bytes == 0
{
success = 1i32
} else if !(*smtp).etpan.is_null() {
// set source
// the `etPanSMTPTest` is the ENVID from RFC 3461 (SMTP DSNs), we should probably replace it by a random value
r = if 0 != (*smtp).esmtp {
mailesmtp_mail(
(*smtp).etpan,
(*smtp).from,
1i32,
b"etPanSMTPTest\x00" as *const u8 as *const libc::c_char,
)
} else {
mailsmtp_mail((*smtp).etpan, (*smtp).from)
};
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to start message\x00" as *const u8 as *const libc::c_char,
r,
);
} else {
// set recipients
// if the recipient is on the same server, this may fail at once.
// TODO: question is what to do if one recipient in a group fails
iter = (*recipients).first;
loop {
if iter.is_null() {
current_block = 12039483399334584727;
break;
if recipients.is_null()
|| (*recipients).count == 0
|| data_not_terminated.is_null()
|| data_bytes == 0
{
success = 1
} else if !smtp.etpan.is_null() {
// set source
// the `etPanSMTPTest` is the ENVID from RFC 3461 (SMTP DSNs), we should probably replace it by a random value
r = if 0 != smtp.esmtp {
mailesmtp_mail(
smtp.etpan,
smtp.from,
1,
b"etPanSMTPTest\x00" as *const u8 as *const libc::c_char,
)
} else {
mailsmtp_mail(smtp.etpan, smtp.from)
};
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to start message\x00" as *const u8 as *const libc::c_char,
r,
);
} else {
// set recipients
// if the recipient is on the same server, this may fail at once.
// TODO: question is what to do if one recipient in a group fails
iter = (*recipients).first;
loop {
if iter.is_null() {
current_block = 12039483399334584727;
break;
}
let mut rcpt: *const libc::c_char = (if !iter.is_null() {
(*iter).data
} else {
0 as *mut libc::c_void
}) as *const libc::c_char;
r = if 0 != smtp.esmtp {
mailesmtp_rcpt(smtp.etpan, rcpt, 2 | 4, 0 as *const libc::c_char)
} else {
mailsmtp_rcpt(smtp.etpan, rcpt)
};
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to add recipient\x00" as *const u8 as *const libc::c_char,
r,
);
current_block = 5498835644851925448;
break;
} else {
iter = if !iter.is_null() {
(*iter).next
} else {
0 as *mut clistcell_s
}
let mut rcpt: *const libc::c_char = (if !iter.is_null() {
(*iter).data
} else {
0 as *mut libc::c_void
})
as *const libc::c_char;
r = if 0 != (*smtp).esmtp {
mailesmtp_rcpt((*smtp).etpan, rcpt, 2i32 | 4i32, 0 as *const libc::c_char)
} else {
mailsmtp_rcpt((*smtp).etpan, rcpt)
};
}
}
match current_block {
5498835644851925448 => {}
_ => {
// message
r = mailsmtp_data(smtp.etpan);
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to add recipient\x00" as *const u8 as *const libc::c_char,
b"SMTP failed to set data\x00" as *const u8 as *const libc::c_char,
r,
);
current_block = 5498835644851925448;
break;
} else {
iter = if !iter.is_null() {
(*iter).next
} else {
0 as *mut clistcell_s
}
}
}
match current_block {
5498835644851925448 => {}
_ => {
// message
r = mailsmtp_data((*smtp).etpan);
r = mailsmtp_data_message(smtp.etpan, data_not_terminated, data_bytes);
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to set data\x00" as *const u8 as *const libc::c_char,
b"SMTP failed to send message\x00" as *const u8
as *const libc::c_char,
r,
);
} else {
r = mailsmtp_data_message(
(*smtp).etpan,
data_not_terminated,
data_bytes,
dc_log_event(
smtp.context,
Event::SMTP_MESSAGE_SENT,
0,
b"Message was sent to SMTP server\x00" as *const u8
as *const libc::c_char,
);
if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error(
smtp,
b"SMTP failed to send message\x00" as *const u8
as *const libc::c_char,
r,
);
} else {
dc_log_event(
(*smtp).context,
Event::SMTP_MESSAGE_SENT,
0i32,
b"Message was sent to SMTP server\x00" as *const u8
as *const libc::c_char,
);
success = 1i32
}
success = 1;
}
}
}
}
}
}
return success;
success
}
unsafe fn log_error(
mut smtp: *mut dc_smtp_t,
mut what_failed: *const libc::c_char,
mut r: libc::c_int,
) {
unsafe fn log_error(smtp: &mut dc_smtp_t, what_failed: *const libc::c_char, r: libc::c_int) {
let mut error_msg: *mut libc::c_char = dc_mprintf(
b"%s: %s: %s\x00" as *const u8 as *const libc::c_char,
what_failed,
mailsmtp_strerror(r),
(*(*smtp).etpan).response,
(*smtp.etpan).response,
);
dc_log_warning(
(*smtp).context,
0i32,
smtp.context,
0,
b"%s\x00" as *const u8 as *const libc::c_char,
error_msg,
);
free((*smtp).error as *mut libc::c_void);
(*smtp).error = error_msg;
(*smtp).error_etpan = r;
free(smtp.error as *mut libc::c_void);
smtp.error = error_msg;
smtp.error_etpan = r;
}

View File

@@ -9,17 +9,14 @@ use crate::x::*;
/* Return the string with the given ID by calling DC_EVENT_GET_STRING.
The result must be free()'d! */
pub unsafe fn dc_stock_str(
mut context: *mut dc_context_t,
mut id: libc::c_int,
) -> *mut libc::c_char {
pub unsafe fn dc_stock_str(mut context: &dc_context_t, mut id: libc::c_int) -> *mut libc::c_char {
return get_string(context, id, 0i32);
}
unsafe fn get_string(
mut context: *mut dc_context_t,
mut id: libc::c_int,
mut qty: libc::c_int,
) -> *mut libc::c_char {
) -> &libc::c_char {
let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
if !context.is_null() {
ret = ((*context).cb)(
@@ -218,7 +215,7 @@ pub unsafe fn dc_stock_str_repl_string(
mut context: *mut dc_context_t,
mut id: libc::c_int,
mut to_insert: *const libc::c_char,
) -> *mut libc::c_char {
) -> &libc::c_char {
let mut ret: *mut libc::c_char = get_string(context, id, 0i32);
dc_str_replace(
&mut ret,
@@ -236,7 +233,7 @@ pub unsafe fn dc_stock_str_repl_int(
mut context: *mut dc_context_t,
mut id: libc::c_int,
mut to_insert_int: libc::c_int,
) -> *mut libc::c_char {
) -> &libc::c_char {
let mut ret: *mut libc::c_char = get_string(context, id, to_insert_int);
let mut to_insert_str: *mut libc::c_char = dc_mprintf(
b"%i\x00" as *const u8 as *const libc::c_char,
@@ -262,7 +259,7 @@ pub unsafe fn dc_stock_str_repl_string2(
mut id: libc::c_int,
mut to_insert: *const libc::c_char,
mut to_insert2: *const libc::c_char,
) -> *mut libc::c_char {
) -> &libc::c_char {
let mut ret: *mut libc::c_char = get_string(context, id, 0i32);
dc_str_replace(
&mut ret,
@@ -293,7 +290,7 @@ pub unsafe fn dc_stock_system_msg(
mut param1: *const libc::c_char,
mut param2: *const libc::c_char,
mut from_id: uint32_t,
) -> *mut libc::c_char {
) -> &libc::c_char {
let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
let mut mod_contact: *mut dc_contact_t = 0 as *mut dc_contact_t;
let mut mod_displayname: *mut libc::c_char = 0 as *mut libc::c_char;

View File

@@ -12,7 +12,7 @@ pub const DC_TOKEN_AUTH: dc_tokennamespc_t = 110;
pub const DC_TOKEN_INVITENUMBER: dc_tokennamespc_t = 100;
// Functions to read/write token from/to the database. A token is any string associated with a key.
pub unsafe fn dc_token_save(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t,
mut foreign_id: uint32_t,
mut token: *const libc::c_char,
@@ -35,7 +35,7 @@ pub unsafe fn dc_token_save(
sqlite3_finalize(stmt);
}
pub unsafe fn dc_token_lookup(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t,
mut foreign_id: uint32_t,
) -> *mut libc::c_char {
@@ -56,7 +56,7 @@ pub unsafe fn dc_token_lookup(
return token;
}
pub unsafe fn dc_token_exists(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t,
mut token: *const libc::c_char,
) -> libc::c_int {

View File

@@ -887,7 +887,7 @@ pub unsafe fn dc_gm2local_offset() -> libc::c_long {
return timeinfo.tm_gmtoff;
}
/* timesmearing */
pub unsafe fn dc_smeared_time(mut context: *mut dc_context_t) -> time_t {
pub unsafe fn dc_smeared_time(mut context: &dc_context_t) -> time_t {
/* function returns a corrected time(NULL) */
let mut now: time_t = time(0 as *mut time_t);
pthread_mutex_lock(&mut (*context).smear_critical);
@@ -897,7 +897,7 @@ pub unsafe fn dc_smeared_time(mut context: *mut dc_context_t) -> time_t {
pthread_mutex_unlock(&mut (*context).smear_critical);
return now;
}
pub unsafe fn dc_create_smeared_timestamp(mut context: *mut dc_context_t) -> time_t {
pub unsafe fn dc_create_smeared_timestamp(mut context: &dc_context_t) -> time_t {
let mut now: time_t = time(0 as *mut time_t);
let mut ret: time_t = now;
pthread_mutex_lock(&mut (*context).smear_critical);
@@ -912,7 +912,7 @@ pub unsafe fn dc_create_smeared_timestamp(mut context: *mut dc_context_t) -> tim
return ret;
}
pub unsafe fn dc_create_smeared_timestamps(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut count: libc::c_int,
) -> time_t {
/* get a range to timestamps that can be used uniquely */
@@ -1262,7 +1262,7 @@ pub unsafe fn dc_get_filemeta(
return 0i32;
}
pub unsafe fn dc_get_abs_path(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
) -> *mut libc::c_char {
let mut current_block: u64;
@@ -1301,7 +1301,7 @@ pub unsafe fn dc_get_abs_path(
return pathNfilename_abs;
}
pub unsafe fn dc_file_exist(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
) -> libc::c_int {
let pathNfilename_abs = dc_get_abs_path(context, pathNfilename);
@@ -1320,7 +1320,7 @@ pub unsafe fn dc_file_exist(
}
pub unsafe fn dc_get_filebytes(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
) -> uint64_t {
let pathNfilename_abs = dc_get_abs_path(context, pathNfilename);
@@ -1337,7 +1337,7 @@ pub unsafe fn dc_get_filebytes(
}
pub unsafe fn dc_delete_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;
@@ -1359,7 +1359,7 @@ pub unsafe fn dc_delete_file(
return success;
}
pub unsafe fn dc_copy_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut src: *const libc::c_char,
mut dest: *const libc::c_char,
) -> libc::c_int {
@@ -1455,7 +1455,7 @@ pub unsafe fn dc_copy_file(
return success;
}
pub unsafe fn dc_create_folder(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
) -> libc::c_int {
let mut success = 0;
@@ -1487,7 +1487,7 @@ pub unsafe fn dc_create_folder(
}
pub unsafe fn dc_write_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
mut buf: *const libc::c_void,
mut buf_bytes: size_t,
@@ -1527,7 +1527,7 @@ pub unsafe fn dc_write_file(
return success;
}
pub unsafe fn dc_read_file(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfilename: *const libc::c_char,
mut buf: *mut *mut libc::c_void,
mut buf_bytes: *mut size_t,
@@ -1579,7 +1579,7 @@ pub unsafe fn dc_read_file(
return success;
}
pub unsafe fn dc_get_fine_pathNfilename(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut pathNfolder: *const libc::c_char,
mut desired_filenameNsuffix__: *const libc::c_char,
) -> *mut libc::c_char {
@@ -1635,7 +1635,7 @@ pub unsafe fn dc_get_fine_pathNfilename(
return ret;
}
pub unsafe fn dc_is_blobdir_path(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut path: *const libc::c_char,
) -> libc::c_int {
if strncmp(path, (*context).blobdir, strlen((*context).blobdir)) == 0i32
@@ -1645,7 +1645,7 @@ pub unsafe fn dc_is_blobdir_path(
}
return 0i32;
}
pub unsafe fn dc_make_rel_path(mut context: *mut dc_context_t, mut path: *mut *mut libc::c_char) {
pub unsafe fn dc_make_rel_path(mut context: &dc_context_t, mut path: *mut *mut libc::c_char) {
if context.is_null() || path.is_null() || (*path).is_null() {
return;
}
@@ -1658,7 +1658,7 @@ pub unsafe fn dc_make_rel_path(mut context: *mut dc_context_t, mut path: *mut *m
};
}
pub unsafe fn dc_make_rel_and_copy(
mut context: *mut dc_context_t,
mut context: &dc_context_t,
mut path: *mut *mut libc::c_char,
) -> libc::c_int {
let mut success: libc::c_int = 0i32;

View File

@@ -1211,7 +1211,7 @@ pub type dc_get_config_t = Option<
#[repr(C)]
pub struct _dc_sqlite3 {
pub cobj: *mut sqlite3,
pub context: *mut dc_context_t,
pub context: &dc_context_t,
}
#[inline]
@@ -1254,7 +1254,7 @@ pub unsafe fn carray_get(mut array: *mut carray, mut indx: libc::c_uint) -> *mut
* @return return 0 unless stated otherwise in the event parameter documentation
*/
pub type dc_callback_t =
unsafe extern "C" fn(_: *mut dc_context_t, _: Event, _: uintptr_t, _: uintptr_t) -> uintptr_t;
unsafe extern "C" fn(_: &dc_context_t, _: Event, _: uintptr_t, _: uintptr_t) -> uintptr_t;
pub const DC_MOVE_STATE_MOVING: libc::c_uint = 3;
pub const DC_MOVE_STATE_STAY: libc::c_uint = 2;