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] #[no_mangle]
pub unsafe extern "C" fn dc_reset_tables( pub unsafe extern "C" fn dc_reset_tables(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut bits: libc::c_int, mut bits: libc::c_int,
) -> libc::c_int { ) -> libc::c_int {
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint { 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 * 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. * 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32; return 0i32;
} }
@@ -167,7 +167,7 @@ unsafe extern "C" fn dc_cleanup_contacts(mut context: *mut dc_context_t) -> libc
return 1i32; return 1i32;
} }
unsafe extern "C" fn dc_poke_eml_file( 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, mut filename: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
/* mainly for testing, may be called by dc_import_spec() */ /* mainly for testing, may be called by dc_import_spec() */
@@ -198,7 +198,7 @@ unsafe extern "C" fn dc_poke_eml_file(
return success; return success;
} }
unsafe extern "C" fn poke_public_key( 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 addr: *const libc::c_char,
mut public_key_file: *const libc::c_char, mut public_key_file: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
@@ -245,7 +245,7 @@ unsafe extern "C" fn poke_public_key(
* @return 1=success, 0=error. * @return 1=success, 0=error.
*/ */
unsafe extern "C" fn poke_spec( unsafe extern "C" fn poke_spec(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut spec: *const libc::c_char, mut spec: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut current_block: u64; let mut current_block: u64;
@@ -403,7 +403,7 @@ unsafe extern "C" fn poke_spec(
return success; return success;
} }
unsafe extern "C" fn log_msg( unsafe extern "C" fn log_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut prefix: *const libc::c_char, mut prefix: *const libc::c_char,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) { ) {
@@ -466,7 +466,7 @@ unsafe extern "C" fn log_msg(
free(contact_name as *mut libc::c_void); free(contact_name as *mut libc::c_void);
dc_contact_unref(contact); 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 i: libc::c_int = 0;
let mut cnt: libc::c_int = dc_array_get_cnt(msglist) as libc::c_int; let mut cnt: libc::c_int = dc_array_get_cnt(msglist) as libc::c_int;
let mut lines_out: libc::c_int = 0i32; 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( unsafe extern "C" fn log_contactlist(mut context: &dc_context_t, mut contacts: *mut dc_array_t) {
mut context: *mut dc_context_t,
mut contacts: *mut dc_array_t,
) {
let mut contact: *mut dc_contact_t = 0 as *mut dc_contact_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); 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) { 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, mut context: *mut dc_context_t,
cmdline: &str, cmdline: &str,
) -> *mut libc::c_char { ) -> *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 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 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; 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; static mut s_do_log_info: libc::c_int = 1i32;
unsafe extern "C" fn receive_event( unsafe extern "C" fn receive_event(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut event: Event, mut event: Event,
mut data1: uintptr_t, mut data1: uintptr_t,
mut data2: 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( unsafe extern "C" fn inbox_thread_entry_point(
mut entry_arg: *mut libc::c_void, mut entry_arg: *mut libc::c_void,
) -> *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 { while 0 != run_threads {
dc_perform_imap_jobs(context); dc_perform_imap_jobs(context);
dc_perform_imap_fetch(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( unsafe extern "C" fn mvbox_thread_entry_point(
mut entry_arg: *mut libc::c_void, mut entry_arg: *mut libc::c_void,
) -> *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 { while 0 != run_threads {
dc_perform_mvbox_fetch(context); dc_perform_mvbox_fetch(context);
if 0 != run_threads { 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( unsafe extern "C" fn sentbox_thread_entry_point(
mut entry_arg: *mut libc::c_void, mut entry_arg: *mut libc::c_void,
) -> *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 { while 0 != run_threads {
dc_perform_sentbox_fetch(context); dc_perform_sentbox_fetch(context);
if 0 != run_threads { 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( unsafe extern "C" fn smtp_thread_entry_point(
mut entry_arg: *mut libc::c_void, mut entry_arg: *mut libc::c_void,
) -> *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 { while 0 != run_threads {
dc_perform_smtp_jobs(context); dc_perform_smtp_jobs(context);
if 0 != run_threads { if 0 != run_threads {
@@ -325,7 +325,7 @@ unsafe extern "C" fn smtp_thread_entry_point(
} }
return 0 as *mut libc::c_void; 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; run_threads = 1i32;
if inbox_thread == 0 { if inbox_thread == 0 {
pthread_create( 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; run_threads = 0i32;
dc_interrupt_imap_idle(context); dc_interrupt_imap_idle(context);
dc_interrupt_mvbox_idle(context); dc_interrupt_mvbox_idle(context);
@@ -390,7 +390,7 @@ fn read_cmd() -> String {
#[cfg(not(target_os = "android"))] #[cfg(not(target_os = "android"))]
unsafe fn main_0(mut argc: libc::c_int, mut argv: *mut *mut libc::c_char) -> libc::c_int { 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 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, receive_event,
0 as *mut libc::c_void, 0 as *mut libc::c_void,
b"CLI\x00" as *const u8 as *const libc::c_char, 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); stop_threads(context);
dc_close(context); dc_close(context);
dc_context_unref(context); dc_context_unref(context);
context = 0 as *mut dc_context_t; context = 0 as &dc_context_t;
return 0i32; 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::*; 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); println!("[{:?}]", event);
match event { match event {

View File

@@ -18,7 +18,7 @@ use crate::x::*;
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
#[repr(C)] #[repr(C)]
pub struct dc_apeerstate_t { pub struct dc_apeerstate_t {
pub context: *mut dc_context_t, pub context: &dc_context_t,
pub addr: *mut libc::c_char, pub addr: *mut libc::c_char,
pub last_seen: time_t, pub last_seen: time_t,
pub last_seen_autocrypt: 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 */ /* 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; 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; peerstate = calloc(1, ::std::mem::size_of::<dc_apeerstate_t>()) as *mut dc_apeerstate_t;
if peerstate.is_null() { if peerstate.is_null() {

View File

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

View File

@@ -35,7 +35,7 @@ pub struct dc_chat_t {
// handle chats // handle chats
pub unsafe fn dc_create_chat_by_msg_id( 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, mut msg_id: uint32_t,
) -> uint32_t { ) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as 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
// only an indicator in a chatlist // only an indicator in a chatlist
// larger chat IDs are "real" chats, their messages are "real" messages. // 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; let mut chat: *mut dc_chat_t = 0 as *mut dc_chat_t;
if context.is_null() || { if context.is_null() || {
chat = calloc(1, ::std::mem::size_of::<dc_chat_t>()) as *mut dc_chat_t; 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; (*chat).gossiped_timestamp = 0i32 as time_t;
dc_param_set_packed((*chat).param, 0 as *const libc::c_char); 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); dc_block_chat(context, chat_id, 0i32);
} }
pub unsafe fn dc_block_chat( pub unsafe fn dc_block_chat(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut new_blocking: libc::c_int, 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; return row_offset;
} }
pub unsafe fn dc_create_chat_by_contact_id( 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, mut contact_id: uint32_t,
) -> uint32_t { ) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as 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; return chat_id;
} }
pub unsafe fn dc_create_or_lookup_nchat_by_contact_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 contact_id: uint32_t,
mut create_blocked: libc::c_int, mut create_blocked: libc::c_int,
mut ret_chat_id: *mut uint32_t, 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( 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 contact_id: uint32_t,
mut ret_chat_id: *mut uint32_t, mut ret_chat_id: *mut uint32_t,
mut ret_chat_blocked: *mut libc::c_int, 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); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_get_chat_id_by_contact_id( 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, mut contact_id: uint32_t,
) -> uint32_t { ) -> uint32_t {
let mut chat_id: uint32_t = 0i32 as 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( pub unsafe fn dc_prepare_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) -> uint32_t { ) -> uint32_t {
@@ -451,7 +451,7 @@ pub unsafe fn dc_prepare_msg(
return msg_id; return msg_id;
} }
unsafe fn prepare_msg_common( unsafe fn prepare_msg_common(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) -> uint32_t { ) -> uint32_t {
@@ -550,7 +550,7 @@ unsafe fn prepare_msg_common(
return (*msg).id; return (*msg).id;
} }
unsafe fn prepare_msg_raw( unsafe fn prepare_msg_raw(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat: *mut dc_chat_t, mut chat: *mut dc_chat_t,
mut msg: *const dc_msg_t, mut msg: *const dc_msg_t,
mut timestamp: time_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; return success;
} }
pub unsafe fn dc_is_contact_in_chat( 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 chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -984,7 +984,7 @@ pub unsafe fn dc_is_contact_in_chat(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
return ret; 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( let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"UPDATE chats SET archived=0 WHERE id=?\x00" as *const u8 as *const libc::c_char, 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); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_send_msg( pub unsafe fn dc_send_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) -> uint32_t { ) -> uint32_t {
@@ -1051,7 +1051,7 @@ pub unsafe fn dc_send_msg(
return (*msg).id; return (*msg).id;
} }
pub unsafe fn dc_send_text_msg( pub unsafe fn dc_send_text_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut text_to_send: *const libc::c_char, mut text_to_send: *const libc::c_char,
) -> uint32_t { ) -> uint32_t {
@@ -1069,7 +1069,7 @@ pub unsafe fn dc_send_text_msg(
return ret; return ret;
} }
pub unsafe fn dc_set_draft( pub unsafe fn dc_set_draft(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) { ) {
@@ -1089,7 +1089,7 @@ pub unsafe fn dc_set_draft(
}; };
} }
unsafe fn set_draft_raw( unsafe fn set_draft_raw(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg: *mut dc_msg_t, mut msg: *mut dc_msg_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -1171,7 +1171,7 @@ unsafe fn set_draft_raw(
free(pathNfilename as *mut libc::c_void); free(pathNfilename as *mut libc::c_void);
return sth_changed; 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 draft_msg_id: uint32_t = 0i32 as uint32_t;
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare( let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*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); sqlite3_finalize(stmt);
return draft_msg_id; 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_id: uint32_t = 0i32 as uint32_t;
let mut draft_msg: *mut dc_msg_t = 0 as *mut dc_msg_t; let mut draft_msg: *mut dc_msg_t = 0 as *mut dc_msg_t;
if context.is_null() 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; return draft_msg;
} }
pub unsafe fn dc_get_chat_msgs( pub unsafe fn dc_get_chat_msgs(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut flags: uint32_t, mut flags: uint32_t,
mut marker1before: uint32_t, mut marker1before: uint32_t,
@@ -1271,7 +1271,7 @@ pub unsafe fn dc_get_chat_msgs(
return 0 as *mut dc_array_t; 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 ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { 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; return ret;
} }
pub unsafe fn dc_get_fresh_msg_cnt( pub unsafe fn dc_get_fresh_msg_cnt(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut ret: libc::c_int = 0i32; let mut ret: libc::c_int = 0i32;
@@ -1307,7 +1307,7 @@ pub unsafe fn dc_get_fresh_msg_cnt(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
return ret; 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 check: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut update: *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) { 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(check);
sqlite3_finalize(update); 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 check: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut update: *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) { 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); sqlite3_finalize(update);
} }
pub unsafe fn dc_get_chat_media( pub unsafe fn dc_get_chat_media(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut msg_type: libc::c_int, mut msg_type: libc::c_int,
mut msg_type2: libc::c_int, mut msg_type2: libc::c_int,
@@ -1404,7 +1404,7 @@ pub unsafe fn dc_get_chat_media(
return ret; return ret;
} }
pub unsafe fn dc_get_next_media( 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 curr_msg_id: uint32_t,
mut dir: libc::c_int, mut dir: libc::c_int,
mut msg_type: libc::c_int, mut msg_type: libc::c_int,
@@ -1456,7 +1456,7 @@ pub unsafe fn dc_get_next_media(
return ret_msg_id; return ret_msg_id;
} }
pub unsafe fn dc_archive_chat( pub unsafe fn dc_archive_chat(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut archive: libc::c_int, mut archive: libc::c_int,
) { ) {
@@ -1492,7 +1492,7 @@ pub unsafe fn dc_archive_chat(
0i32 as uintptr_t, 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. */ /* 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 pending_transaction: libc::c_int = 0i32;
let mut obj: *mut dc_chat_t = dc_chat_new(context); 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); sqlite3_free(q3 as *mut libc::c_void);
} }
pub unsafe fn dc_get_chat_contacts( pub unsafe fn dc_get_chat_contacts(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
) -> *mut dc_array_t { ) -> *mut dc_array_t {
/* Normal chats do not include SELF. Group chats do (as it may happen that one is deleted from a /* 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); sqlite3_finalize(stmt);
return ret; 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 success: libc::c_int = 0i32;
let mut obj: *mut dc_chat_t = dc_chat_new(context); let mut obj: *mut dc_chat_t = dc_chat_new(context);
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { 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 // handle group chats
pub unsafe fn dc_create_group_chat( pub unsafe fn dc_create_group_chat(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut verified: libc::c_int, mut verified: libc::c_int,
mut chat_name: *const libc::c_char, mut chat_name: *const libc::c_char,
) -> uint32_t { ) -> uint32_t {
@@ -1656,7 +1656,7 @@ pub unsafe fn dc_create_group_chat(
/* you MUST NOT modify this or the following strings */ /* you MUST NOT modify this or the following strings */
// Context functions to work with chats // Context functions to work with chats
pub unsafe fn dc_add_to_chat_contacts_table( 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 chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -1678,14 +1678,14 @@ pub unsafe fn dc_add_to_chat_contacts_table(
return ret; return ret;
} }
pub unsafe fn dc_add_contact_to_chat( 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 chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
return dc_add_contact_to_chat_ex(context, chat_id, contact_id, 0i32); return dc_add_contact_to_chat_ex(context, chat_id, contact_id, 0i32);
} }
pub unsafe fn dc_add_contact_to_chat_ex( 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 chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut flags: libc::c_int, 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); free(self_addr as *mut libc::c_void);
return success; 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 // 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 stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut ret: libc::c_int = 0i32; 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); sqlite3_finalize(stmt);
return ret; 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); dc_set_gossiped_timestamp(context, chat_id, 0i32 as time_t);
} }
pub unsafe fn dc_set_gossiped_timestamp( pub unsafe fn dc_set_gossiped_timestamp(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut timestamp: time_t, mut timestamp: time_t,
) { ) {
@@ -1871,7 +1871,7 @@ pub unsafe fn dc_set_gossiped_timestamp(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_remove_contact_from_chat( 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 chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -1957,7 +1957,7 @@ pub unsafe fn dc_remove_contact_from_chat(
return success; return success;
} }
pub unsafe fn dc_set_group_explicitly_left( 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, mut grpid: *const libc::c_char,
) { ) {
if 0 == dc_is_group_explicitly_left(context, grpid) { 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( 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, mut grpid: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare( let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
@@ -1984,7 +1984,7 @@ pub unsafe fn dc_is_group_explicitly_left(
return ret; return ret;
} }
pub unsafe fn dc_set_chat_name( pub unsafe fn dc_set_chat_name(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut new_name: *const libc::c_char, mut new_name: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
@@ -2057,7 +2057,7 @@ pub unsafe fn dc_set_chat_name(
return success; return success;
} }
pub unsafe fn dc_set_chat_profile_image( 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 chat_id: uint32_t,
mut new_image: *const libc::c_char, mut new_image: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
@@ -2140,7 +2140,7 @@ pub unsafe fn dc_set_chat_profile_image(
return success; return success;
} }
pub unsafe fn dc_forward_msgs( 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_ids: *const uint32_t,
mut msg_cnt: libc::c_int, mut msg_cnt: libc::c_int,
mut chat_id: uint32_t, 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( pub unsafe fn dc_get_chat_contact_cnt(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut ret: libc::c_int = 0i32; 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; 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 ret: size_t = 0i32 as size_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() 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; return ret;
} }
pub unsafe fn dc_get_chat_id_by_grpid( 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 grpid: *const libc::c_char,
mut ret_blocked: *mut libc::c_int, mut ret_blocked: *mut libc::c_int,
mut ret_verified: *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; return chat_id;
} }
pub unsafe fn dc_add_device_msg( pub unsafe fn dc_add_device_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut text: *const libc::c_char, mut text: *const libc::c_char,
) { ) {

View File

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

View File

@@ -58,7 +58,7 @@ pub struct outlk_autodiscover_t {
pub redirect: *mut libc::c_char, pub redirect: *mut libc::c_char,
} }
// connect // 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) { if 0 != dc_has_ongoing(context) {
dc_log_warning( dc_log_warning(
context, context,
@@ -71,7 +71,7 @@ pub unsafe fn dc_configure(mut context: *mut dc_context_t) {
dc_job_kill_action(context, 900i32); dc_job_kill_action(context, 900i32);
dc_job_add(context, 900i32, 0i32, 0 as *const libc::c_char, 0i32); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32; return 0i32;
} }
@@ -81,7 +81,7 @@ pub unsafe fn dc_has_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
0i32 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32; return 0i32;
} }
@@ -96,7 +96,7 @@ pub unsafe fn dc_is_configured(mut context: *const dc_context_t) -> libc::c_int
0i32 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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 // 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 flags: libc::c_int = 0;
let mut current_block: u64; let mut current_block: u64;
let mut success: libc::c_int = 0i32; 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; return;
} }
@@ -1331,7 +1331,7 @@ pub unsafe fn dc_free_ongoing(mut context: *mut dc_context_t) {
(*context).shall_stop_ongoing = 1i32; (*context).shall_stop_ongoing = 1i32;
} }
pub unsafe fn dc_configure_folders( pub unsafe fn dc_configure_folders(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut imap: *mut dc_imap_t, mut imap: *mut dc_imap_t,
mut flags: libc::c_int, 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; return ret_meaning;
} }
unsafe fn moz_autoconfigure( unsafe fn moz_autoconfigure(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut url: *const libc::c_char, mut url: *const libc::c_char,
mut param_in: *const dc_loginparam_t, mut param_in: *const dc_loginparam_t,
) -> *mut dc_loginparam_t { ) -> *mut dc_loginparam_t {
@@ -1859,7 +1859,7 @@ unsafe fn moz_autoconfigure_starttag_cb(
}; };
} }
unsafe fn read_autoconf_file( unsafe fn read_autoconf_file(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut url: *const libc::c_char, mut url: *const libc::c_char,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut filecontent: *mut libc::c_char = 0 as *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; return filecontent;
} }
unsafe fn outlk_autodiscover( unsafe fn outlk_autodiscover(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut url__: *const libc::c_char, mut url__: *const libc::c_char,
mut param_in: *const dc_loginparam_t, mut param_in: *const dc_loginparam_t,
) -> *mut dc_loginparam_t { ) -> *mut dc_loginparam_t {
@@ -2071,7 +2071,7 @@ unsafe fn outlk_autodiscover_starttag_cb(
(*outlk_ad).tag_config = 5i32 (*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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return 0i32; return 0i32;
} }
@@ -2089,7 +2089,7 @@ pub unsafe fn dc_alloc_ongoing(mut context: *mut dc_context_t) -> libc::c_int {
return 1i32; return 1i32;
} }
pub unsafe fn dc_connect_to_configured_imap( 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, mut imap: *mut dc_imap_t,
) -> libc::c_int { ) -> libc::c_int {
let mut ret_connected: libc::c_int = 0i32; 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 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; return;
} }
@@ -69,7 +69,7 @@ pub unsafe extern "C" fn dc_may_be_valid_addr(mut addr: *const libc::c_char) ->
return 1i32; return 1i32;
} }
pub unsafe fn dc_lookup_contact_id_by_addr( 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, mut addr: *const libc::c_char,
) -> uint32_t { ) -> uint32_t {
let mut contact_id: libc::c_int = 0i32; 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; return addr_normalized;
} }
pub unsafe fn dc_create_contact( pub unsafe fn dc_create_contact(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut name: *const libc::c_char, mut name: *const libc::c_char,
mut addr: *const libc::c_char, mut addr: *const libc::c_char,
) -> uint32_t { ) -> uint32_t {
@@ -161,7 +161,7 @@ pub unsafe fn dc_create_contact(
return contact_id; return contact_id;
} }
pub unsafe fn dc_block_contact( pub unsafe fn dc_block_contact(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut new_blocking: libc::c_int, mut new_blocking: libc::c_int,
) { ) {
@@ -243,7 +243,7 @@ pub unsafe fn dc_block_contact(
* dc_create_contact() or dc_add_address_book()) * dc_create_contact() or dc_add_address_book())
* only affect the given-name. * 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; 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; contact = calloc(1, ::std::mem::size_of::<dc_contact_t>()) as *mut dc_contact_t;
if contact.is_null() { if contact.is_null() {
@@ -341,7 +341,7 @@ pub unsafe fn dc_contact_load_from_db(
return success; return success;
} }
pub unsafe fn dc_is_contact_blocked( pub unsafe fn dc_is_contact_blocked(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut is_blocked: libc::c_int = 0i32; let mut is_blocked: libc::c_int = 0i32;
@@ -356,7 +356,7 @@ pub unsafe fn dc_is_contact_blocked(
} }
/*can be NULL*/ /*can be NULL*/
pub unsafe fn dc_add_or_lookup_contact( 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 name: *const libc::c_char,
mut addr__: *const libc::c_char, mut addr__: *const libc::c_char,
mut origin: libc::c_int, mut origin: libc::c_int,
@@ -541,7 +541,7 @@ pub unsafe fn dc_add_or_lookup_contact(
return row_id; return row_id;
} }
pub unsafe fn dc_add_address_book( 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, mut adr_book: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut lines: *mut carray = 0 as *mut carray; 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( pub unsafe fn dc_get_contacts(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut listflags: uint32_t, mut listflags: uint32_t,
mut query: *const libc::c_char, mut query: *const libc::c_char,
) -> *mut dc_array_t { ) -> *mut dc_array_t {
@@ -713,7 +713,7 @@ pub unsafe fn dc_get_contacts(
free(self_name2 as *mut libc::c_void); free(self_name2 as *mut libc::c_void);
return ret; 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 ret: libc::c_int = 0i32;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { 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); sqlite3_finalize(stmt);
return ret; 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 ret: *mut dc_array_t = dc_array_new(context, 100i32 as size_t);
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { 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; return ret;
} }
pub unsafe fn dc_get_contact_encrinfo( pub unsafe fn dc_get_contact_encrinfo(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut ret: dc_strbuilder_t = dc_strbuilder_t { let mut ret: dc_strbuilder_t = dc_strbuilder_t {
@@ -890,7 +890,7 @@ unsafe fn cat_fingerprint(
}; };
} }
pub unsafe fn dc_delete_contact( pub unsafe fn dc_delete_contact(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
@@ -939,7 +939,7 @@ pub unsafe fn dc_delete_contact(
return success; return success;
} }
pub unsafe fn dc_get_contact( pub unsafe fn dc_get_contact(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> *mut dc_contact_t { ) -> *mut dc_contact_t {
let mut ret: *mut dc_contact_t = dc_contact_new(context); let mut ret: *mut dc_contact_t = dc_contact_new(context);
@@ -1099,7 +1099,7 @@ pub unsafe fn dc_addr_cmp(
return ret; return ret;
} }
pub unsafe fn dc_addr_equals_self( pub unsafe fn dc_addr_equals_self(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut addr: *const libc::c_char, mut addr: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut ret: libc::c_int = 0i32; let mut ret: libc::c_int = 0i32;
@@ -1125,7 +1125,7 @@ pub unsafe fn dc_addr_equals_self(
return ret; return ret;
} }
pub unsafe fn dc_addr_equals_contact( 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 addr: *const libc::c_char,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -1146,7 +1146,7 @@ pub unsafe fn dc_addr_equals_contact(
return addr_are_equal; return addr_are_equal;
} }
// Context functions to work with contacts // 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 ret: size_t = 0i32 as size_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() 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; return ret;
} }
pub unsafe fn dc_get_contact_origin( pub unsafe fn dc_get_contact_origin(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut ret_blocked: *mut libc::c_int, mut ret_blocked: *mut libc::c_int,
) -> libc::c_int { ) -> libc::c_int {
@@ -1189,7 +1189,7 @@ pub unsafe fn dc_get_contact_origin(
return ret; return ret;
} }
pub unsafe fn dc_real_contact_exists( pub unsafe fn dc_real_contact_exists(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
@@ -1212,7 +1212,7 @@ pub unsafe fn dc_real_contact_exists(
return ret; return ret;
} }
pub unsafe fn dc_scaleup_contact_origin( pub unsafe fn dc_scaleup_contact_origin(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut origin: libc::c_int, mut origin: libc::c_int,
) { ) {

View File

@@ -33,7 +33,7 @@ pub struct dc_e2ee_helper_t {
} }
pub unsafe fn dc_e2ee_encrypt( pub unsafe fn dc_e2ee_encrypt(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut recipients_addr: *const clist, mut recipients_addr: *const clist,
mut force_unencrypted: libc::c_int, mut force_unencrypted: libc::c_int,
mut e2ee_guaranteed: 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 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: *mut libc::c_char = 0 as *mut libc::c_char;
let mut ctext_bytes: size_t = 0i32 as size_t; 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() { if !helper.is_null() {
memset( memset(
helper as *mut libc::c_void, helper as *mut libc::c_void,
@@ -505,7 +505,7 @@ unsafe fn new_data_part(
* Generate Keypairs * Generate Keypairs
******************************************************************************/ ******************************************************************************/
unsafe fn load_or_generate_self_public_key( 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 public_key: *mut dc_key_t,
mut self_addr: *const libc::c_char, mut self_addr: *const libc::c_char,
mut random_data_mime: *mut mailmime, 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 */ /* returns 1 if sth. was decrypted, 0 in other cases */
pub unsafe fn dc_e2ee_decrypt( pub unsafe fn dc_e2ee_decrypt(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut in_out_message: *mut mailmime, mut in_out_message: *mut mailmime,
mut helper: *mut dc_e2ee_helper_t, 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); free(self_addr as *mut libc::c_void);
} }
unsafe fn update_gossip_peerstates( unsafe fn update_gossip_peerstates(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut message_time: time_t, mut message_time: time_t,
mut imffields: *mut mailimf_fields, mut imffields: *mut mailimf_fields,
mut gossip_headers: *const mailimf_fields, mut gossip_headers: *const mailimf_fields,
@@ -845,7 +845,7 @@ unsafe fn update_gossip_peerstates(
return gossipped_addr; return gossipped_addr;
} }
unsafe fn decrypt_recursive( unsafe fn decrypt_recursive(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut mime: *mut mailmime, mut mime: *mut mailmime,
mut private_keyring: *const dc_keyring_t, mut private_keyring: *const dc_keyring_t,
mut public_keyring_for_validate: *const dc_keyring_t, mut public_keyring_for_validate: *const dc_keyring_t,
@@ -950,7 +950,7 @@ unsafe fn decrypt_recursive(
return 0i32; return 0i32;
} }
unsafe fn decrypt_part( unsafe fn decrypt_part(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut mime: *mut mailmime, mut mime: *mut mailmime,
mut private_keyring: *const dc_keyring_t, mut private_keyring: *const dc_keyring_t,
mut public_keyring_for_validate: *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 */ /* 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 /* 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) */ (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; 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 a directory where the backup is written to
// param1 is the file with the backup to import // param1 is the file with the backup to import
pub unsafe fn dc_imex( pub unsafe fn dc_imex(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut what: libc::c_int, mut what: libc::c_int,
mut param1: *const libc::c_char, mut param1: *const libc::c_char,
mut param2: *const libc::c_char, mut param2: *const libc::c_char,
@@ -40,7 +40,7 @@ pub unsafe fn dc_imex(
dc_param_unref(param); dc_param_unref(param);
} }
pub unsafe fn dc_imex_has_backup( 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 dir_name: *const libc::c_char,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut ret: *mut libc::c_char = 0 as *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; return ret;
} }
pub unsafe fn dc_check_password( pub unsafe fn dc_check_password(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut test_pw: *const libc::c_char, mut test_pw: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
/* Check if the given password matches the configured mail_pw. /* Check if the given password matches the configured mail_pw.
@@ -145,7 +145,7 @@ pub unsafe fn dc_check_password(
dc_loginparam_unref(loginparam); dc_loginparam_unref(loginparam);
return success; 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 current_block: u64;
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
let mut setup_code: *mut libc::c_char = 0 as *mut libc::c_char; 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; return setup_code;
} }
pub unsafe extern "C" fn dc_render_setup_file( 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 passphrase: *const libc::c_char,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; 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); free(self_addr as *mut libc::c_void);
return ret_setupfilecontent; 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 random_val: uint16_t = 0i32 as uint16_t;
let mut i: libc::c_int = 0i32; let mut i: libc::c_int = 0i32;
let mut ret: dc_strbuilder_t = dc_strbuilder_t { 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; return ret.buf;
} }
pub unsafe fn dc_continue_key_transfer( pub unsafe fn dc_continue_key_transfer(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut msg_id: uint32_t, mut msg_id: uint32_t,
mut setup_code: *const libc::c_char, mut setup_code: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
@@ -449,7 +449,7 @@ pub unsafe fn dc_continue_key_transfer(
return success; return success;
} }
unsafe fn set_self_key( unsafe fn set_self_key(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut armored: *const libc::c_char, mut armored: *const libc::c_char,
mut set_default: libc::c_int, mut set_default: libc::c_int,
) -> libc::c_int { ) -> libc::c_int {
@@ -567,7 +567,7 @@ unsafe fn set_self_key(
return success; return success;
} }
pub unsafe fn dc_decrypt_setup_file( 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 passphrase: *const libc::c_char,
mut filecontent: *const libc::c_char, mut filecontent: *const libc::c_char,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
@@ -631,7 +631,7 @@ pub unsafe fn dc_decrypt_setup_file(
return payload; return payload;
} }
pub unsafe fn dc_normalize_setup_code( pub unsafe fn dc_normalize_setup_code(
_context: *mut dc_context_t, _context: &dc_context_t,
in_0: *const libc::c_char, in_0: *const libc::c_char,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
if in_0.is_null() { if in_0.is_null() {
@@ -670,7 +670,7 @@ pub unsafe fn dc_normalize_setup_code(
} }
return out.buf; 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 current_block: u64;
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
let mut ongoing_allocated_here: 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 * Import backup
******************************************************************************/ ******************************************************************************/
unsafe fn 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, mut backup_to_import: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut current_block: u64; 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 FILE_PROGRESS macro calls the callback with the permille of files processed.
The macro avoids weird values of 0% or 100% while still working. */ The macro avoids weird values of 0% or 100% while still working. */
unsafe fn export_backup( unsafe fn export_backup(mut context: &dc_context_t, mut dir: *const libc::c_char) -> libc::c_int {
mut context: *mut dc_context_t,
mut dir: *const libc::c_char,
) -> libc::c_int {
let mut current_block: u64; let mut current_block: u64;
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
let mut closed: 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 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) */ (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 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 dir_entry: *mut dirent = 0 as *mut dirent;
let mut suffix: *mut libc::c_char = 0 as *mut libc::c_char; 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; 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 { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
let mut export_errors: 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 id: libc::c_int = 0i32;
let mut is_default: libc::c_int = 0i32; let mut is_default: libc::c_int = 0i32;
let mut public_key: *mut dc_key_t = dc_key_new(); 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, mut is_default: libc::c_int,
) -> libc::c_int { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; 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 { if 0 != is_default {
file_name = dc_mprintf( file_name = dc_mprintf(
b"%s/%s-key-default.asc\x00" as *const u8 as *const libc::c_char, 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 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( dc_log_info(
context, context,
0i32, 0i32,
@@ -66,7 +66,7 @@ pub unsafe fn dc_perform_imap_jobs(mut context: *mut dc_context_t) {
); );
} }
unsafe fn dc_job_perform( unsafe fn dc_job_perform(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut thread: libc::c_int, mut thread: libc::c_int,
mut probe_network: 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); free(job.pending_error as *mut libc::c_void);
sqlite3_finalize(select_stmt); 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( let mut delete_stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"DELETE FROM jobs WHERE id=?;\x00" as *const u8 as *const libc::c_char, 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; 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( let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"UPDATE jobs SET desired_timestamp=?, tries=?, param=? WHERE id=?;\x00" as *const u8 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_step(stmt);
sqlite3_finalize(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); pthread_mutex_lock(&mut (*context).smtpidle_condmutex);
(*context).smtp_suspended = suspend; (*context).smtp_suspended = suspend;
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex); 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 current_block: u64;
let mut filename: *mut libc::c_char = 0 as *mut libc::c_char; 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; 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); free((*job).pending_error as *mut libc::c_void);
(*job).pending_error = dc_strdup_keep_null(pending_error); (*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 current_block: u64;
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context); 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; 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 * 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; let mut ret_connected: libc::c_int = 0i32;
ret_connected = dc_connect_to_configured_imap(context, (*context).inbox); ret_connected = dc_connect_to_configured_imap(context, (*context).inbox);
if !(0 == ret_connected) { 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; return ret_connected;
} }
unsafe fn dc_job_do_DC_JOB_MARKSEEN_MDN_ON_IMAP( 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, mut job: *mut dc_job_t,
) { ) {
let mut current_block: u64; 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); free(dest_folder as *mut libc::c_void);
} }
unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP( 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, mut job: *mut dc_job_t,
) { ) {
let mut current_block: u64; let mut current_block: u64;
@@ -741,7 +741,7 @@ unsafe fn dc_job_do_DC_JOB_MARKSEEN_MSG_ON_IMAP(
} }
dc_msg_unref(msg); 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 { let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t {
from_addr: 0 as *mut libc::c_char, from_addr: 0 as *mut libc::c_char,
from_displayname: 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_gossiped: 0,
out_last_added_location_id: 0, out_last_added_location_id: 0,
error: 0 as *mut libc::c_char, 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); dc_mimefactory_init(&mut mimefactory, context);
if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint { 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 * @return 1=success, 0=error
*/ */
unsafe fn dc_add_smtp_job( unsafe fn dc_add_smtp_job(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut action: libc::c_int, mut action: libc::c_int,
mut mimefactory: *mut dc_mimefactory_t, mut mimefactory: *mut dc_mimefactory_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -851,7 +851,7 @@ unsafe fn dc_add_smtp_job(
return success; return success;
} }
pub unsafe fn dc_job_add( pub unsafe fn dc_job_add(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut action: libc::c_int, mut action: libc::c_int,
mut foreign_id: libc::c_int, mut foreign_id: libc::c_int,
mut param: *const libc::c_char, mut param: *const libc::c_char,
@@ -899,7 +899,7 @@ pub unsafe fn dc_job_add(
dc_interrupt_smtp_idle(context); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning( dc_log_warning(
context, 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_cond_signal(&mut (*context).smtpidle_cond);
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex); 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() if context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint || (*context).magic != 0x11a11807i32 as libc::c_uint
|| (*context).inbox.is_null() || (*context).inbox.is_null()
@@ -941,10 +941,7 @@ pub unsafe fn dc_interrupt_imap_idle(mut context: *mut dc_context_t) {
drop(l); drop(l);
dc_imap_interrupt_idle((*context).inbox); dc_imap_interrupt_idle((*context).inbox);
} }
unsafe fn dc_job_do_DC_JOB_DELETE_MSG_ON_IMAP( unsafe fn dc_job_do_DC_JOB_DELETE_MSG_ON_IMAP(mut context: &dc_context_t, mut job: *mut dc_job_t) {
mut context: *mut dc_context_t,
mut job: *mut dc_job_t,
) {
let mut current_block: u64; let mut current_block: u64;
let mut delete_from_server: libc::c_int = 1i32; let mut delete_from_server: libc::c_int = 1i32;
let mut msg: *mut dc_msg_t = dc_msg_new_untyped(context); 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() { if context.is_null() {
return; return;
} }
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare( let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"DELETE FROM jobs WHERE action=?;\x00" as *const u8 as *const libc::c_char, 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, 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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, 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning( dc_log_warning(
context, 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); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
return; 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); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning( dc_log_warning(
context, 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); 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); pthread_mutex_lock(&mut (*context).smtpidle_condmutex);
let mut probe_smtp_network: libc::c_int = (*context).probe_smtp_network; let mut probe_smtp_network: libc::c_int = (*context).probe_smtp_network;
(*context).probe_smtp_network = 0i32; (*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; (*context).smtp_doing_jobs = 0i32;
pthread_mutex_unlock(&mut (*context).smtpidle_condmutex); 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 { if context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint {
dc_log_warning( dc_log_warning(
context, context,
@@ -1210,7 +1207,7 @@ pub unsafe fn dc_perform_smtp_idle(mut context: *mut dc_context_t) {
tv_nsec: 0, tv_nsec: 0,
}; };
memset( memset(
&mut wakeup_at as *mut timespec as *mut libc::c_void, &mut wakeup_at as &timespec as *mut libc::c_void,
0, 0,
::std::mem::size_of::<timespec>(), ::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 wakeup_time = sqlite3_column_int(stmt, 0i32) as time_t
} }
if wakeup_time == 0i32 as libc::c_long { 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); sqlite3_finalize(stmt);
return wakeup_time; return wakeup_time;
@@ -1262,11 +1259,11 @@ pub unsafe fn dc_maybe_network(mut context: *mut dc_context_t) {
dc_interrupt_sentbox_idle(context); dc_interrupt_sentbox_idle(context);
} }
pub unsafe fn dc_job_action_exists( pub unsafe fn dc_job_action_exists(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut action: libc::c_int, mut action: libc::c_int,
) -> libc::c_int { ) -> libc::c_int {
let mut job_exists: libc::c_int = 0i32; 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( stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"SELECT id FROM jobs WHERE action=?;\x00" as *const u8 as *const libc::c_char, 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 { 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 success: libc::c_int = 0i32;
let mut mimefactory: dc_mimefactory_t = dc_mimefactory_t { 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, from_displayname: 0 as *mut libc::c_char,
selfstatus: 0 as *mut libc::c_char, selfstatus: 0 as *mut libc::c_char,
recipients_names: 0 as *mut clist, 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 == 50i32
|| (*mimefactory.msg).type_0 == 60i32 || (*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, (*mimefactory.msg).param,
'f' as i32, 'f' as i32,
0 as *const libc::c_char, 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( pub unsafe fn dc_key_set_from_file(
mut key: *mut dc_key_t, mut key: *mut dc_key_t,
mut pathNfilename: *const libc::c_char, mut pathNfilename: *const libc::c_char,
mut context: *mut dc_context_t, mut context: &dc_context_t,
) -> libc::c_int { ) -> libc::c_int {
let mut current_block: u64; let mut current_block: u64;
let mut buf: *mut libc::c_char = 0 as *mut libc::c_char; 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( pub unsafe fn dc_key_render_asc_to_file(
mut key: *const dc_key_t, mut key: *const dc_key_t,
mut file: *const libc::c_char, mut file: *const libc::c_char,
mut context: *mut dc_context_t, mut context: &dc_context_t,
) -> libc::c_int { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0i32;
let mut file_content: *mut libc::c_char = 0 as *mut libc::c_char; 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 */ /* yes: uppercase */
/* library private: key-history */ /* library private: key-history */
pub unsafe fn dc_add_to_keyhistory( pub fn dc_add_to_keyhistory(
_context: *mut dc_context_t, _context: &dc_context_t,
_rfc724_mid: *const libc::c_char, _rfc724_mid: *const libc::c_char,
_sending_time: time_t, _sending_time: time_t,
_addr: *const libc::c_char, _addr: *const libc::c_char,

View File

@@ -42,7 +42,7 @@ pub struct dc_kml_t {
// location streaming // location streaming
pub unsafe fn dc_send_locations_to_chat( 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 chat_id: uint32_t,
mut seconds: libc::c_int, 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 * 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) { if 0 != flags & 0x1i32 || 0 == dc_job_action_exists(context, 5005i32) {
dc_job_add(context, 5005i32, 0i32, 0 as *const libc::c_char, 60i32); dc_job_add(context, 5005i32, 0i32, 0 as *const libc::c_char, 60i32);
}; };
} }
pub unsafe extern "C" fn dc_is_sending_locations_to_chat( 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, mut chat_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut is_sending_locations: libc::c_int = 0i32; 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; return is_sending_locations;
} }
pub unsafe fn dc_set_location( pub unsafe fn dc_set_location(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut latitude: libc::c_double, mut latitude: libc::c_double,
mut longitude: libc::c_double, mut longitude: libc::c_double,
mut accuracy: libc::c_double, mut accuracy: libc::c_double,
@@ -212,7 +212,7 @@ pub unsafe fn dc_set_location(
return continue_streaming; return continue_streaming;
} }
pub unsafe fn dc_get_locations( pub unsafe fn dc_get_locations(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut timestamp_from: time_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; 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; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
stmt = dc_sqlite3_prepare( stmt = dc_sqlite3_prepare(
@@ -312,7 +312,7 @@ pub unsafe fn dc_delete_all_locations(mut context: *mut dc_context_t) {
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_get_location_kml( pub unsafe fn dc_get_location_kml(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut last_added_location_id: *mut uint32_t, mut last_added_location_id: *mut uint32_t,
) -> *mut libc::c_char { ) -> *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( pub unsafe fn dc_get_message_kml(
context: *const dc_context_t, context: &dc_context_t,
timestamp: time_t, timestamp: time_t,
latitude: libc::c_double, latitude: libc::c_double,
longitude: 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( 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 chat_id: uint32_t,
mut timestamp: time_t, mut timestamp: time_t,
) { ) {
@@ -501,7 +501,7 @@ pub unsafe fn dc_set_kml_sent_timestamp(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_set_msg_location_id( 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 msg_id: uint32_t,
mut location_id: uint32_t, mut location_id: uint32_t,
) { ) {
@@ -516,7 +516,7 @@ pub unsafe fn dc_set_msg_location_id(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_save_locations( pub unsafe fn dc_save_locations(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
mut locations: *const dc_array_t, mut locations: *const dc_array_t,
@@ -579,7 +579,7 @@ pub unsafe fn dc_save_locations(
return newest_location_id; return newest_location_id;
} }
pub unsafe fn dc_kml_parse( 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: *const libc::c_char,
mut content_bytes: size_t, mut content_bytes: size_t,
) -> *mut dc_kml_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).addr as *mut libc::c_void);
free(kml as *mut libc::c_void); free(kml as *mut libc::c_void);
} }
pub unsafe fn dc_job_do_DC_JOB_MAYBE_SEND_LOCATIONS( pub unsafe fn dc_job_do_DC_JOB_MAYBE_SEND_LOCATIONS(context: &dc_context_t, _job: *mut dc_job_t) {
context: *mut dc_context_t,
_job: *mut dc_job_t,
) {
let mut stmt_chats: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; 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 stmt_locations: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut now: time_t = time(0 as *mut time_t); 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 chat_id: uint32_t = (*job).foreign_id;
let mut locations_send_begin: time_t = 0i32 as time_t; let mut locations_send_begin: time_t = 0i32 as time_t;
let mut locations_send_until: 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; let mut stock_str: *mut libc::c_char = 0 as *mut libc::c_char;
stmt = dc_sqlite3_prepare( stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,

View File

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

View File

@@ -115,7 +115,7 @@ pub unsafe fn dc_lot_fill(
mut msg: *const dc_msg_t, mut msg: *const dc_msg_t,
mut chat: *const dc_chat_t, mut chat: *const dc_chat_t,
mut contact: *const dc_contact_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() { if lot.is_null() || (*lot).magic != 0x107107i32 as libc::c_uint || msg.is_null() {
return; 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_MSG_LOADED: dc_mimefactory_loaded_t = 1;
pub const DC_MF_NOTHING_LOADED: dc_mimefactory_loaded_t = 0; pub const DC_MF_NOTHING_LOADED: dc_mimefactory_loaded_t = 0;
pub unsafe fn dc_mimefactory_init( pub unsafe fn dc_mimefactory_init(mut factory: *mut dc_mimefactory_t, mut context: &dc_context_t) {
mut factory: *mut dc_mimefactory_t,
mut context: *mut dc_context_t,
) {
if factory.is_null() || context.is_null() { if factory.is_null() || context.is_null() {
return; return;
} }
@@ -128,7 +125,7 @@ pub unsafe fn dc_mimefactory_load_msg(
clist_insert_after( clist_insert_after(
(*factory).recipients_names, (*factory).recipients_names,
(*(*factory).recipients_names).last, (*(*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( clist_insert_after(
(*factory).recipients_addr, (*factory).recipients_addr,
@@ -1060,7 +1057,7 @@ unsafe fn get_subject(
let mut context: *mut dc_context_t = if !chat.is_null() { let mut context: *mut dc_context_t = if !chat.is_null() {
(*chat).context (*chat).context
} else { } 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 ret: *mut libc::c_char = 0 as *mut libc::c_char;
let mut raw_subject: *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; static mut s_generate_compound_msgs: libc::c_int = 1i32;
pub unsafe fn dc_mimeparser_new( pub unsafe fn dc_mimeparser_new(
mut blobdir: *const libc::c_char, mut blobdir: *const libc::c_char,
mut context: *mut dc_context_t, mut context: &dc_context_t,
) -> *mut dc_mimeparser_t { ) -> *mut dc_mimeparser_t {
let mut mimeparser: *mut dc_mimeparser_t = 0 as *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; 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; return any_part_added;
} }
unsafe fn hash_header( unsafe fn hash_header(out: *mut dc_hash_t, in_0: *const mailimf_fields, _context: &dc_context_t) {
out: *mut dc_hash_t,
in_0: *const mailimf_fields,
_context: *mut dc_context_t,
) {
if in_0.is_null() { if in_0.is_null() {
return; return;
} }

View File

@@ -7,7 +7,7 @@ use crate::dc_sqlite3::*;
use crate::types::*; use crate::types::*;
pub unsafe fn dc_do_heuristics_moves( 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 folder: *const libc::c_char,
mut msg_id: uint32_t, mut msg_id: uint32_t,
) { ) {

View File

@@ -48,7 +48,7 @@ pub struct dc_msg_t {
// handle messages // handle messages
pub unsafe fn dc_get_msg_info( pub unsafe fn dc_get_msg_info(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut msg_id: uint32_t, mut msg_id: uint32_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut e2ee_errors: libc::c_int = 0; 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); free(rawtxt as *mut libc::c_void);
return ret.buf; 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); 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() // 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_msg_get_text()
// approx. max. lenght returned by dc_get_msg_info() // approx. max. lenght returned by dc_get_msg_info()
pub unsafe fn dc_msg_new( pub unsafe fn dc_msg_new(mut context: &dc_context_t, mut viewtype: libc::c_int) -> *mut dc_msg_t {
mut context: *mut 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; 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; msg = calloc(1, ::std::mem::size_of::<dc_msg_t>()) as *mut dc_msg_t;
if msg.is_null() { if msg.is_null() {
@@ -508,7 +505,7 @@ pub unsafe fn dc_msg_load_from_db(
mut id: uint32_t, mut id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; 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() if !(msg.is_null()
|| (*msg).magic != 0x11561156i32 as libc::c_uint || (*msg).magic != 0x11561156i32 as libc::c_uint
|| context.is_null() || context.is_null()
@@ -611,7 +608,7 @@ pub unsafe fn dc_get_mime_headers(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut msg_id: uint32_t, mut msg_id: uint32_t,
) -> *mut libc::c_char { ) -> *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; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) { if !(context.is_null() || (*context).magic != 0x11a11807i32 as libc::c_uint) {
stmt = dc_sqlite3_prepare( stmt = dc_sqlite3_prepare(
@@ -664,11 +661,11 @@ pub unsafe fn dc_delete_msgs(
}; };
} }
pub unsafe fn dc_update_msg_chat_id( 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 msg_id: uint32_t,
mut chat_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, (*context).sql,
b"UPDATE msgs SET chat_id=? WHERE id=?;\x00" as *const u8 as *const libc::c_char, 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 send_event: libc::c_int = 0i32;
let mut curr_state: libc::c_int = 0i32; let mut curr_state: libc::c_int = 0i32;
let mut curr_blocked: 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() if !(context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint || (*context).magic != 0x11a11807i32 as libc::c_uint
|| msg_ids.is_null() || msg_ids.is_null()
@@ -752,7 +749,7 @@ pub unsafe fn dc_update_msg_state(
mut msg_id: uint32_t, mut msg_id: uint32_t,
mut state: libc::c_int, mut state: libc::c_int,
) { ) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare( let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"UPDATE msgs SET state=? WHERE id=?;\x00" as *const u8 as *const libc::c_char, 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; return;
} }
dc_sqlite3_begin_transaction((*context).sql); 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, (*context).sql,
b"UPDATE msgs SET starred=? WHERE id=?;\x00" as *const u8 as *const libc::c_char, 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; return obj;
} else { } else {
dc_msg_unref(obj); 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 { 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 context: *mut dc_context_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
/* get a summary text, result must be free()'d, never returns NULL. */ /* 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 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 pathNfilename: *mut libc::c_char = 0 as *mut libc::c_char;
let mut label: *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 context: *mut dc_context_t,
mut msg_id: uint32_t, mut msg_id: uint32_t,
) -> *mut dc_msg_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); dc_msg_load_from_db(msg, context, msg_id);
return msg; 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_bind_int(stmt, 1i32, (*msg).id as libc::c_int);
sqlite3_step(stmt); sqlite3_step(stmt);
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
stmt = 0 as *mut sqlite3_stmt; stmt = 0 as &sqlite3_stmt;
stmt = dc_sqlite3_prepare( stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"DELETE FROM msgs_mdns WHERE msg_id=?;\x00" as *const u8 as *const libc::c_char, 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; return msg_exists;
} }
pub unsafe fn dc_update_msg_move_state( 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 rfc724_mid: *const libc::c_char,
mut state: dc_move_state_t, mut state: dc_move_state_t,
) { ) {
// we update the move_state for all messages belonging to a given Message-ID // we update the move_state for all messages belonging to a given Message-ID
// so that the state stay intact when parts are deleted // 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, (*context).sql,
b"UPDATE msgs SET move_state=? WHERE rfc724_mid=?;\x00" as *const u8 as *const libc::c_char, 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 msg_id: uint32_t,
mut error: *const libc::c_char, 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; let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
if !(0 == dc_msg_load_from_db(msg, context, msg_id)) { if !(0 == dc_msg_load_from_db(msg, context, msg_id)) {
if 18i32 == (*msg).state || 20i32 == (*msg).state || 26i32 == (*msg).state { 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 from_id: uint32_t,
mut rfc724_mid: *const libc::c_char, mut rfc724_mid: *const libc::c_char,
mut timestamp_sent: time_t, 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, mut ret_msg_id: *mut uint32_t,
) -> libc::c_int { ) -> libc::c_int {
let mut chat_type: libc::c_int = 0; 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); sqlite3_finalize(stmt);
return ret; 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 stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt;
let mut ret: size_t = 0i32 as size_t; let mut ret: size_t = 0i32 as size_t;
if !(context.is_null() 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; return ret;
} }
pub unsafe fn dc_rfc724_mid_cnt( 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, mut rfc724_mid: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
/* check the number of messages with the same rfc724_mid */ /* check the number of messages with the same rfc724_mid */
let mut ret: libc::c_int = 0i32; 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() if !(context.is_null()
|| (*context).magic != 0x11a11807i32 as libc::c_uint || (*context).magic != 0x11a11807i32 as libc::c_uint
|| (*(*context).sql).cobj.is_null()) || (*(*context).sql).cobj.is_null())
@@ -1512,7 +1509,7 @@ pub unsafe fn dc_rfc724_mid_exists(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut rfc724_mid: *const libc::c_char, mut rfc724_mid: *const libc::c_char,
mut ret_server_folder: *mut *mut 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 { ) -> uint32_t {
let mut ret: uint32_t = 0i32 as uint32_t; let mut ret: uint32_t = 0i32 as uint32_t;
let mut stmt: *mut sqlite3_stmt = 0 as *mut sqlite3_stmt; 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_folder: *const libc::c_char,
mut server_uid: uint32_t, mut server_uid: uint32_t,
) { ) {
let mut stmt: *mut sqlite3_stmt = dc_sqlite3_prepare( let mut stmt: &sqlite3_stmt = dc_sqlite3_prepare(
(*context).sql, (*context).sql,
b"UPDATE msgs SET server_folder=?, server_uid=? WHERE rfc724_mid=?;\x00" as *const u8 b"UPDATE msgs SET server_folder=?, server_uid=? WHERE rfc724_mid=?;\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,

View File

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

View File

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

View File

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

View File

@@ -1042,7 +1042,7 @@ pub unsafe fn dc_receive_imf(
* Misc. Tools * Misc. Tools
******************************************************************************/ ******************************************************************************/
unsafe fn calc_timestamps( unsafe fn calc_timestamps(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut chat_id: uint32_t, mut chat_id: uint32_t,
mut from_id: uint32_t, mut from_id: uint32_t,
mut message_timestamp: time_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 So when the function returns, the caller has the group id matching the current
state of the group. */ state of the group. */
unsafe fn create_or_lookup_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 mime_parser: *mut dc_mimeparser_t,
mut allow_creation: libc::c_int, mut allow_creation: libc::c_int,
mut create_blocked: libc::c_int, mut create_blocked: libc::c_int,
@@ -1559,7 +1559,7 @@ unsafe fn create_or_lookup_group(
* Handle groups for received messages * Handle groups for received messages
******************************************************************************/ ******************************************************************************/
unsafe fn create_or_lookup_adhoc_group( 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 mime_parser: *mut dc_mimeparser_t,
mut allow_creation: libc::c_int, mut allow_creation: libc::c_int,
mut create_blocked: 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( unsafe fn create_group_record(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut grpid: *const libc::c_char, mut grpid: *const libc::c_char,
mut grpname: *const libc::c_char, mut grpname: *const libc::c_char,
mut create_blocked: libc::c_int, mut create_blocked: libc::c_int,
@@ -1706,7 +1706,7 @@ unsafe fn create_group_record(
return chat_id; return chat_id;
} }
unsafe fn create_adhoc_grp_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 member_ids: *mut dc_array_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
/* algorithm: /* algorithm:
@@ -1791,7 +1791,7 @@ unsafe fn create_adhoc_grp_id(
return ret; return ret;
} }
unsafe fn search_chat_ids_by_contact_ids( 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 unsorted_contact_ids: *const dc_array_t,
) -> *mut 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 */ /* 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; return chat_ids;
} }
unsafe fn check_verified_properties( unsafe fn check_verified_properties(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut mimeparser: *mut dc_mimeparser_t, mut mimeparser: *mut dc_mimeparser_t,
mut from_id: uint32_t, mut from_id: uint32_t,
mut to_ids: *const dc_array_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( 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, mut mime_parser: *mut dc_mimeparser_t,
) -> libc::c_int { ) -> libc::c_int {
/* check if the message is a reply to a known message; the replies are identified by the Message-ID from /* 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; return 0i32;
} }
unsafe fn is_known_rfc724_mid_in_list( unsafe fn is_known_rfc724_mid_in_list(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut mid_list: *const clist, mut mid_list: *const clist,
) -> libc::c_int { ) -> libc::c_int {
if !mid_list.is_null() { 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) * Check if a message is a reply to a known message (messenger or non-messenger)
******************************************************************************/ ******************************************************************************/
unsafe fn is_known_rfc724_mid( unsafe fn is_known_rfc724_mid(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char, mut rfc724_mid: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut is_known: libc::c_int = 0i32; let mut is_known: libc::c_int = 0i32;
@@ -2115,7 +2115,7 @@ unsafe fn is_known_rfc724_mid(
return is_known; return is_known;
} }
unsafe fn dc_is_reply_to_messenger_message( 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, mut mime_parser: *mut dc_mimeparser_t,
) -> libc::c_int { ) -> libc::c_int {
/* function checks, if the message defined by mime_parser references a message send by us from Delta Chat. /* 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; return 0i32;
} }
unsafe fn is_msgrmsg_rfc724_mid_in_list( unsafe fn is_msgrmsg_rfc724_mid_in_list(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut mid_list: *const clist, mut mid_list: *const clist,
) -> libc::c_int { ) -> libc::c_int {
if !mid_list.is_null() { 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 * Check if a message is a reply to any messenger message
******************************************************************************/ ******************************************************************************/
unsafe fn is_msgrmsg_rfc724_mid( unsafe fn is_msgrmsg_rfc724_mid(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut rfc724_mid: *const libc::c_char, mut rfc724_mid: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut is_msgrmsg: libc::c_int = 0i32; let mut is_msgrmsg: libc::c_int = 0i32;
@@ -2205,7 +2205,7 @@ unsafe fn is_msgrmsg_rfc724_mid(
return is_msgrmsg; return is_msgrmsg;
} }
unsafe fn dc_add_or_lookup_contacts_by_address_list( 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 adr_list: *const mailimf_address_list,
mut origin: libc::c_int, mut origin: libc::c_int,
mut ids: *mut dc_array_t, 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( 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 mb_list: *const mailimf_mailbox_list,
mut origin: libc::c_int, mut origin: libc::c_int,
mut ids: *mut dc_array_t, 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 * Add contacts to database on receiving messages
******************************************************************************/ ******************************************************************************/
unsafe fn add_or_lookup_contact_by_addr( 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 display_name_enc: *const libc::c_char,
mut addr_spec: *const libc::c_char, mut addr_spec: *const libc::c_char,
mut origin: libc::c_int, mut origin: libc::c_int,

View File

@@ -25,7 +25,7 @@ use crate::types::*;
use crate::x::*; use crate::x::*;
pub unsafe fn dc_get_securejoin_qr( 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 group_chat_id: uint32_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
let mut current_block: u64; let mut current_block: u64;
@@ -145,7 +145,7 @@ pub unsafe fn dc_get_securejoin_qr(
dc_strdup(0 as *const libc::c_char) 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_addr: *mut libc::c_char = 0 as *mut libc::c_char;
let mut self_key: *mut dc_key_t = dc_key_new(); let mut self_key: *mut dc_key_t = dc_key_new();
let mut fingerprint: *mut libc::c_char = 0 as *mut libc::c_char; 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; return fingerprint;
} }
pub unsafe fn dc_join_securejoin( pub unsafe fn dc_join_securejoin(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut qr: *const libc::c_char, mut qr: *const libc::c_char,
) -> uint32_t { ) -> uint32_t {
/* ========================================================== /* ==========================================================
@@ -290,7 +290,7 @@ pub unsafe fn dc_join_securejoin(
return ret_chat_id as uint32_t; return ret_chat_id as uint32_t;
} }
unsafe fn send_handshake_msg( unsafe fn send_handshake_msg(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_chat_id: uint32_t, mut contact_chat_id: uint32_t,
mut step: *const libc::c_char, mut step: *const libc::c_char,
mut param2: *const libc::c_char, mut param2: *const libc::c_char,
@@ -326,7 +326,7 @@ unsafe fn send_handshake_msg(
dc_msg_unref(msg); dc_msg_unref(msg);
} }
unsafe fn chat_id_2_contact_id( unsafe fn chat_id_2_contact_id(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut contact_chat_id: uint32_t, mut contact_chat_id: uint32_t,
) -> uint32_t { ) -> uint32_t {
let mut contact_id: uint32_t = 0i32 as 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; return contact_id;
} }
unsafe fn fingerprint_equals_sender( unsafe fn fingerprint_equals_sender(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut fingerprint: *const libc::c_char, mut fingerprint: *const libc::c_char,
mut contact_chat_id: uint32_t, mut contact_chat_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -369,7 +369,7 @@ unsafe fn fingerprint_equals_sender(
} }
/* library private: secure-join */ /* library private: secure-join */
pub unsafe fn dc_handle_securejoin_handshake( 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 mimeparser: *mut dc_mimeparser_t,
mut contact_id: uint32_t, mut contact_id: uint32_t,
) -> libc::c_int { ) -> libc::c_int {
@@ -896,14 +896,11 @@ pub unsafe fn dc_handle_securejoin_handshake(
free(grpid as *mut libc::c_void); free(grpid as *mut libc::c_void);
return ret; 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; (*context).bobs_status = status;
dc_stop_ongoing_process(context); dc_stop_ongoing_process(context);
} }
unsafe fn secure_connection_established( unsafe fn secure_connection_established(mut context: &dc_context_t, mut contact_chat_id: uint32_t) {
mut context: *mut 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_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: *mut dc_contact_t = dc_get_contact(context, contact_id);
let mut msg: *mut libc::c_char = dc_stock_str_repl_string( 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, mut details: *const libc::c_char,
) { ) {
let mut contact_id: uint32_t = chat_id_2_contact_id(context, contact_chat_id); 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( let mut msg: *mut libc::c_char = dc_stock_str_repl_string(
context, context,
36i32, 36i32,
@@ -975,7 +972,7 @@ unsafe fn mark_peer_as_verified(
mut fingerprint: *const libc::c_char, mut fingerprint: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {
let mut success: libc::c_int = 0i32; 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_load_by_fingerprint(peerstate, (*context).sql, fingerprint)) {
if !(0 == dc_apeerstate_set_verified(peerstate, 1i32, fingerprint, 2i32)) { if !(0 == dc_apeerstate_set_verified(peerstate, 1i32, fingerprint, 2i32)) {
(*peerstate).prefer_encrypt = 1i32; (*peerstate).prefer_encrypt = 1i32;
@@ -1040,7 +1037,7 @@ pub unsafe fn dc_handle_degrade_event(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut peerstate: *mut dc_apeerstate_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_id: uint32_t = 0i32 as uint32_t;
let mut contact_chat_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()) { 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) { pub unsafe fn dc_smtp_unref(smtp: &mut dc_smtp_t) {
if smtp.is_null() {
return;
}
dc_smtp_disconnect(smtp); dc_smtp_disconnect(smtp);
free((*smtp).from as *mut libc::c_void); free(smtp.from as *mut libc::c_void);
free((*smtp).error as *mut libc::c_void); free(smtp.error as *mut libc::c_void);
free(smtp 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() { pub unsafe fn dc_smtp_disconnect(smtp: &mut dc_smtp_t) {
return; 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() { pub unsafe fn dc_smtp_is_connected(smtp: *const dc_smtp_t) -> libc::c_int {
1i32 if !smtp.etpan.is_null() {
1
} else { } else {
0i32 0
};
}
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;
} }
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( dc_log_warning(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP already connected.\x00" as *const u8 as *const libc::c_char, b"SMTP already connected.\x00" as *const u8 as *const libc::c_char,
); );
success = 1i32 success = 1;
} else if (*lp).addr.is_null() || (*lp).send_server.is_null() || (*lp).send_port == 0i32 { } else if (*lp).addr.is_null() || (*lp).send_server.is_null() || (*lp).send_port == 0 {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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, b"SMTP bad parameters.\x00" as *const u8 as *const libc::c_char,
); );
} else { } else {
free((*smtp).from as *mut libc::c_void); free(smtp.from as *mut libc::c_void);
(*smtp).from = dc_strdup((*lp).addr); smtp.from = dc_strdup((*lp).addr);
(*smtp).etpan = mailsmtp_new(0i32 as size_t, None); smtp.etpan = mailsmtp_new(0 as size_t, None);
if (*smtp).etpan.is_null() { if smtp.etpan.is_null() {
dc_log_error( dc_log_error(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-object creation failed.\x00" as *const u8 as *const libc::c_char, b"SMTP-object creation failed.\x00" as *const u8 as *const libc::c_char,
); );
} else { } else {
mailsmtp_set_timeout((*smtp).etpan, 10i32 as time_t); mailsmtp_set_timeout(smtp.etpan, 10 as time_t);
mailsmtp_set_progress_callback( mailsmtp_set_progress_callback(
(*smtp).etpan, smtp.etpan,
Some(body_progress), Some(body_progress),
smtp as *mut libc::c_void, smtp as *mut libc::c_void,
); );
/* connect to SMTP server */ /* connect to SMTP server */
if 0 != (*lp).server_flags & (0x10000i32 | 0x40000i32) { if 0 != (*lp).server_flags & (0x10000 | 0x40000) {
r = mailsmtp_socket_connect( r = mailsmtp_socket_connect(
(*smtp).etpan, smtp.etpan,
(*lp).send_server, (*lp).send_server,
(*lp).send_port as uint16_t, (*lp).send_port as uint16_t,
); );
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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 b"SMTP-Socket connection to %s:%i failed (%s)\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_server, (*lp).send_server,
@@ -125,15 +120,15 @@ pub unsafe fn dc_smtp_connect(
} }
} else { } else {
r = mailsmtp_ssl_connect( r = mailsmtp_ssl_connect(
(*smtp).etpan, smtp.etpan,
(*lp).send_server, (*lp).send_server,
(*lp).send_port as uint16_t, (*lp).send_port as uint16_t,
); );
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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 b"SMTP-SSL connection to %s:%i failed (%s)\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_server, (*lp).send_server,
@@ -148,54 +143,54 @@ pub unsafe fn dc_smtp_connect(
match current_block { match current_block {
12512295087047028901 => {} 12512295087047028901 => {}
_ => { _ => {
try_esmtp = 1i32; try_esmtp = 1;
(*smtp).esmtp = 0i32; smtp.esmtp = 0;
if 0 != try_esmtp && { if 0 != try_esmtp && {
r = mailesmtp_ehlo((*smtp).etpan); r = mailesmtp_ehlo(smtp.etpan);
r == MAILSMTP_NO_ERROR as libc::c_int 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 { } 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 { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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, b"SMTP-helo failed (%s)\x00" as *const u8 as *const libc::c_char,
mailsmtp_strerror(r), mailsmtp_strerror(r),
); );
} else { } else {
if 0 != (*lp).server_flags & 0x10000i32 { if 0 != (*lp).server_flags & 0x10000 {
r = mailsmtp_socket_starttls((*smtp).etpan); r = mailsmtp_socket_starttls(smtp.etpan);
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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 b"SMTP-STARTTLS failed (%s)\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
mailsmtp_strerror(r), mailsmtp_strerror(r),
); );
current_block = 12512295087047028901; current_block = 12512295087047028901;
} else { } else {
(*smtp).esmtp = 0i32; smtp.esmtp = 0;
if 0 != try_esmtp && { if 0 != try_esmtp && {
r = mailesmtp_ehlo((*smtp).etpan); r = mailesmtp_ehlo(smtp.etpan);
r == MAILSMTP_NO_ERROR as libc::c_int r == MAILSMTP_NO_ERROR as libc::c_int
} { } {
(*smtp).esmtp = 1i32 smtp.esmtp = 1
} else if 0 == try_esmtp } else if 0 == try_esmtp
|| r == MAILSMTP_ERROR_NOT_IMPLEMENTED as libc::c_int || 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 { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, 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 b"SMTP-helo failed (%s)\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
mailsmtp_strerror(r), mailsmtp_strerror(r),
@@ -203,8 +198,8 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901; current_block = 12512295087047028901;
} else { } else {
dc_log_info( dc_log_info(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-server %s:%i STARTTLS-connected.\x00" as *const u8 b"SMTP-server %s:%i STARTTLS-connected.\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_server, (*lp).send_server,
@@ -214,10 +209,10 @@ pub unsafe fn dc_smtp_connect(
} }
} }
} else { } else {
if 0 != (*lp).server_flags & 0x40000i32 { if 0 != (*lp).server_flags & 0x40000 {
dc_log_info( dc_log_info(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-server %s:%i connected.\x00" as *const u8 b"SMTP-server %s:%i connected.\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_server, (*lp).send_server,
@@ -225,8 +220,8 @@ pub unsafe fn dc_smtp_connect(
); );
} else { } else {
dc_log_info( dc_log_info(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-server %s:%i SSL-connected.\x00" as *const u8 b"SMTP-server %s:%i SSL-connected.\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_server, (*lp).send_server,
@@ -239,35 +234,35 @@ pub unsafe fn dc_smtp_connect(
12512295087047028901 => {} 12512295087047028901 => {}
_ => { _ => {
if !(*lp).send_user.is_null() { if !(*lp).send_user.is_null() {
if 0 != (*lp).server_flags & 0x2i32 { if 0 != (*lp).server_flags & 0x2 {
dc_log_info( dc_log_info(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-OAuth2 connect...\x00" as *const u8 b"SMTP-OAuth2 connect...\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
); );
let mut access_token: *mut libc::c_char = let mut access_token: *mut libc::c_char =
dc_get_oauth2_access_token( dc_get_oauth2_access_token(
(*smtp).context, smtp.context,
(*lp).addr, (*lp).addr,
(*lp).send_pw, (*lp).send_pw,
0i32, 0,
); );
r = mailsmtp_oauth2_authenticate( r = mailsmtp_oauth2_authenticate(
(*smtp).etpan, smtp.etpan,
(*lp).send_user, (*lp).send_user,
access_token, access_token,
); );
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
free(access_token as *mut libc::c_void); free(access_token as *mut libc::c_void);
access_token = dc_get_oauth2_access_token( access_token = dc_get_oauth2_access_token(
(*smtp).context, smtp.context,
(*lp).addr, (*lp).addr,
(*lp).send_pw, (*lp).send_pw,
0x1i32, 0x1,
); );
r = mailsmtp_oauth2_authenticate( r = mailsmtp_oauth2_authenticate(
(*smtp).etpan, smtp.etpan,
(*lp).send_user, (*lp).send_user,
access_token, access_token,
) )
@@ -276,7 +271,7 @@ pub unsafe fn dc_smtp_connect(
current_block = 15462640364611497761; current_block = 15462640364611497761;
} else { } else {
r = mailsmtp_auth( r = mailsmtp_auth(
(*smtp).etpan, smtp.etpan,
(*lp).send_user, (*lp).send_user,
(*lp).send_pw, (*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) * 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 * 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 & MAILSMTP_AUTH_PLAIN as libc::c_int
{ {
dc_log_info( dc_log_info(
(*smtp).context, smtp.context,
0i32, 0,
b"Trying SMTP-Login workaround \"%s\"...\x00" b"Trying SMTP-Login workaround \"%s\"...\x00"
as *const u8 as *const u8
as *const libc::c_char, as *const libc::c_char,
@@ -302,10 +297,10 @@ pub unsafe fn dc_smtp_connect(
hostname.as_mut_ptr(), hostname.as_mut_ptr(),
::std::mem::size_of::<[libc::c_char; 513]>(), ::std::mem::size_of::<[libc::c_char; 513]>(),
); );
if err < 0i32 { if err < 0 {
dc_log_error( dc_log_error(
(*smtp).context, smtp.context,
0i32, 0,
b"SMTP-Login: Cannot get hostname.\x00" b"SMTP-Login: Cannot get hostname.\x00"
as *const u8 as *const u8
as *const libc::c_char, as *const libc::c_char,
@@ -313,7 +308,7 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901; current_block = 12512295087047028901;
} else { } else {
r = mailesmtp_auth_sasl( r = mailesmtp_auth_sasl(
(*smtp).etpan, smtp.etpan,
b"PLAIN\x00" as *const u8 b"PLAIN\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
hostname.as_mut_ptr(), hostname.as_mut_ptr(),
@@ -338,9 +333,9 @@ pub unsafe fn dc_smtp_connect(
_ => { _ => {
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
dc_log_event_seq( dc_log_event_seq(
(*smtp).context, smtp.context,
Event::ERROR_NETWORK, Event::ERROR_NETWORK,
&mut (*smtp).log_connect_errors &mut smtp.log_connect_errors
as *mut libc::c_int, as *mut libc::c_int,
b"SMTP-login failed for user %s (%s)\x00" b"SMTP-login failed for user %s (%s)\x00"
as *const u8 as *const u8
@@ -351,9 +346,9 @@ pub unsafe fn dc_smtp_connect(
current_block = 12512295087047028901; current_block = 12512295087047028901;
} else { } else {
dc_log_event( dc_log_event(
(*smtp).context, smtp.context,
Event::SMTP_CONNECTED, Event::SMTP_CONNECTED,
0i32, 0,
b"SMTP-login as %s ok.\x00" as *const u8 b"SMTP-login as %s ok.\x00" as *const u8
as *const libc::c_char, as *const libc::c_char,
(*lp).send_user, (*lp).send_user,
@@ -367,7 +362,7 @@ pub unsafe fn dc_smtp_connect(
} }
match current_block { match current_block {
12512295087047028901 => {} 12512295087047028901 => {}
_ => success = 1i32, _ => success = 1,
} }
} }
} }
@@ -377,13 +372,14 @@ pub unsafe fn dc_smtp_connect(
} }
} }
if 0 == success { if 0 == success {
if !(*smtp).etpan.is_null() { if !smtp.etpan.is_null() {
mailsmtp_free((*smtp).etpan); mailsmtp_free(smtp.etpan);
(*smtp).etpan = 0 as *mut mailsmtp smtp.etpan = 0 as *mut mailsmtp
} }
} }
return success; success
} }
unsafe extern "C" fn body_progress( unsafe extern "C" fn body_progress(
_current: size_t, _current: size_t,
_maximum: size_t, _maximum: size_t,
@@ -392,138 +388,129 @@ unsafe extern "C" fn body_progress(
} }
pub unsafe fn dc_smtp_send_msg( pub unsafe fn dc_smtp_send_msg(
mut smtp: *mut dc_smtp_t, smtp: &mut dc_smtp_t,
mut recipients: *const clist, recipients: *const clist,
mut data_not_terminated: *const libc::c_char, data_not_terminated: *const libc::c_char,
mut data_bytes: size_t, data_bytes: size_t,
) -> libc::c_int { ) -> libc::c_int {
let mut current_block: u64; let mut current_block: u64;
let mut success: libc::c_int = 0i32; let mut success: libc::c_int = 0;
let mut r: libc::c_int = 0i32; let mut r: libc::c_int = 0;
let mut iter: *mut clistiter = 0 as *mut clistiter; let mut iter: *mut clistiter = 0 as *mut clistiter;
if !smtp.is_null() { if recipients.is_null()
if recipients.is_null() || (*recipients).count == 0
|| (*recipients).count == 0i32 || data_not_terminated.is_null()
|| data_not_terminated.is_null() || data_bytes == 0
|| data_bytes == 0 {
{ success = 1
success = 1i32 } else if !smtp.etpan.is_null() {
} else if !(*smtp).etpan.is_null() { // set source
// set source // the `etPanSMTPTest` is the ENVID from RFC 3461 (SMTP DSNs), we should probably replace it by a random value
// the `etPanSMTPTest` is the ENVID from RFC 3461 (SMTP DSNs), we should probably replace it by a random value r = if 0 != smtp.esmtp {
r = if 0 != (*smtp).esmtp { mailesmtp_mail(
mailesmtp_mail( smtp.etpan,
(*smtp).etpan, smtp.from,
(*smtp).from, 1,
1i32, b"etPanSMTPTest\x00" as *const u8 as *const libc::c_char,
b"etPanSMTPTest\x00" as *const u8 as *const libc::c_char, )
) } else {
} else { mailsmtp_mail(smtp.etpan, smtp.from)
mailsmtp_mail((*smtp).etpan, (*smtp).from) };
}; if r != MAILSMTP_NO_ERROR as libc::c_int {
if r != MAILSMTP_NO_ERROR as libc::c_int { log_error(
log_error( smtp,
smtp, b"SMTP failed to start message\x00" as *const u8 as *const libc::c_char,
b"SMTP failed to start message\x00" as *const u8 as *const libc::c_char, r,
r, );
); } else {
} else { // set recipients
// set recipients // if the recipient is on the same server, this may fail at once.
// 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
// TODO: question is what to do if one recipient in a group fails iter = (*recipients).first;
iter = (*recipients).first; loop {
loop { if iter.is_null() {
if iter.is_null() { current_block = 12039483399334584727;
current_block = 12039483399334584727; break;
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 { match current_block {
0 as *mut libc::c_void 5498835644851925448 => {}
}) _ => {
as *const libc::c_char; // message
r = if 0 != (*smtp).esmtp { r = mailsmtp_data(smtp.etpan);
mailesmtp_rcpt((*smtp).etpan, rcpt, 2i32 | 4i32, 0 as *const libc::c_char)
} else {
mailsmtp_rcpt((*smtp).etpan, rcpt)
};
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error( log_error(
smtp, 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, r,
); );
current_block = 5498835644851925448;
break;
} else { } else {
iter = if !iter.is_null() { r = mailsmtp_data_message(smtp.etpan, data_not_terminated, data_bytes);
(*iter).next
} else {
0 as *mut clistcell_s
}
}
}
match current_block {
5498835644851925448 => {}
_ => {
// message
r = mailsmtp_data((*smtp).etpan);
if r != MAILSMTP_NO_ERROR as libc::c_int { if r != MAILSMTP_NO_ERROR as libc::c_int {
log_error( log_error(
smtp, 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, r,
); );
} else { } else {
r = mailsmtp_data_message( dc_log_event(
(*smtp).etpan, smtp.context,
data_not_terminated, Event::SMTP_MESSAGE_SENT,
data_bytes, 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 { success = 1;
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
}
} }
} }
} }
} }
} }
} }
return success;
success
} }
unsafe fn log_error(
mut smtp: *mut dc_smtp_t, unsafe fn log_error(smtp: &mut dc_smtp_t, what_failed: *const libc::c_char, r: libc::c_int) {
mut what_failed: *const libc::c_char,
mut r: libc::c_int,
) {
let mut error_msg: *mut libc::c_char = dc_mprintf( let mut error_msg: *mut libc::c_char = dc_mprintf(
b"%s: %s: %s\x00" as *const u8 as *const libc::c_char, b"%s: %s: %s\x00" as *const u8 as *const libc::c_char,
what_failed, what_failed,
mailsmtp_strerror(r), mailsmtp_strerror(r),
(*(*smtp).etpan).response, (*smtp.etpan).response,
); );
dc_log_warning( dc_log_warning(
(*smtp).context, smtp.context,
0i32, 0,
b"%s\x00" as *const u8 as *const libc::c_char, b"%s\x00" as *const u8 as *const libc::c_char,
error_msg, error_msg,
); );
free((*smtp).error as *mut libc::c_void); free(smtp.error as *mut libc::c_void);
(*smtp).error = error_msg; smtp.error = error_msg;
(*smtp).error_etpan = r; 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. /* Return the string with the given ID by calling DC_EVENT_GET_STRING.
The result must be free()'d! */ The result must be free()'d! */
pub unsafe fn dc_stock_str( pub unsafe fn dc_stock_str(mut context: &dc_context_t, mut id: libc::c_int) -> *mut libc::c_char {
mut context: *mut dc_context_t,
mut id: libc::c_int,
) -> *mut libc::c_char {
return get_string(context, id, 0i32); return get_string(context, id, 0i32);
} }
unsafe fn get_string( unsafe fn get_string(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut id: libc::c_int, mut id: libc::c_int,
mut qty: 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; let mut ret: *mut libc::c_char = 0 as *mut libc::c_char;
if !context.is_null() { if !context.is_null() {
ret = ((*context).cb)( ret = ((*context).cb)(
@@ -218,7 +215,7 @@ pub unsafe fn dc_stock_str_repl_string(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut id: libc::c_int, mut id: libc::c_int,
mut to_insert: *const libc::c_char, 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); let mut ret: *mut libc::c_char = get_string(context, id, 0i32);
dc_str_replace( dc_str_replace(
&mut ret, &mut ret,
@@ -236,7 +233,7 @@ pub unsafe fn dc_stock_str_repl_int(
mut context: *mut dc_context_t, mut context: *mut dc_context_t,
mut id: libc::c_int, mut id: libc::c_int,
mut to_insert_int: 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 ret: *mut libc::c_char = get_string(context, id, to_insert_int);
let mut to_insert_str: *mut libc::c_char = dc_mprintf( let mut to_insert_str: *mut libc::c_char = dc_mprintf(
b"%i\x00" as *const u8 as *const libc::c_char, 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 id: libc::c_int,
mut to_insert: *const libc::c_char, mut to_insert: *const libc::c_char,
mut to_insert2: *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); let mut ret: *mut libc::c_char = get_string(context, id, 0i32);
dc_str_replace( dc_str_replace(
&mut ret, &mut ret,
@@ -293,7 +290,7 @@ pub unsafe fn dc_stock_system_msg(
mut param1: *const libc::c_char, mut param1: *const libc::c_char,
mut param2: *const libc::c_char, mut param2: *const libc::c_char,
mut from_id: uint32_t, 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 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_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; 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; 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. // Functions to read/write token from/to the database. A token is any string associated with a key.
pub unsafe fn dc_token_save( pub unsafe fn dc_token_save(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t, mut namespc: dc_tokennamespc_t,
mut foreign_id: uint32_t, mut foreign_id: uint32_t,
mut token: *const libc::c_char, mut token: *const libc::c_char,
@@ -35,7 +35,7 @@ pub unsafe fn dc_token_save(
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
} }
pub unsafe fn dc_token_lookup( pub unsafe fn dc_token_lookup(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t, mut namespc: dc_tokennamespc_t,
mut foreign_id: uint32_t, mut foreign_id: uint32_t,
) -> *mut libc::c_char { ) -> *mut libc::c_char {
@@ -56,7 +56,7 @@ pub unsafe fn dc_token_lookup(
return token; return token;
} }
pub unsafe fn dc_token_exists( pub unsafe fn dc_token_exists(
mut context: *mut dc_context_t, mut context: &dc_context_t,
mut namespc: dc_tokennamespc_t, mut namespc: dc_tokennamespc_t,
mut token: *const libc::c_char, mut token: *const libc::c_char,
) -> libc::c_int { ) -> libc::c_int {

View File

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

View File

@@ -1211,7 +1211,7 @@ pub type dc_get_config_t = Option<
#[repr(C)] #[repr(C)]
pub struct _dc_sqlite3 { pub struct _dc_sqlite3 {
pub cobj: *mut sqlite3, pub cobj: *mut sqlite3,
pub context: *mut dc_context_t, pub context: &dc_context_t,
} }
#[inline] #[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 * @return return 0 unless stated otherwise in the event parameter documentation
*/ */
pub type dc_callback_t = 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_MOVING: libc::c_uint = 3;
pub const DC_MOVE_STATE_STAY: libc::c_uint = 2; pub const DC_MOVE_STATE_STAY: libc::c_uint = 2;