Use Vec instead of carray in dc_forward_msgs() (#277)

Use Vec instead of carray in dc_forward_msgs()
This commit is contained in:
Friedel Ziegelmayer
2019-08-02 11:05:28 +02:00
committed by GitHub

View File

@@ -1973,7 +1973,7 @@ pub unsafe fn dc_forward_msgs(
let msg = dc_msg_new_untyped(context); let msg = dc_msg_new_untyped(context);
let chat = dc_chat_new(context); let chat = dc_chat_new(context);
let contact = dc_contact_new(context); let contact = dc_contact_new(context);
let created_db_entries = carray_new(16); let mut created_db_entries = Vec::new();
let mut curr_timestamp: i64; let mut curr_timestamp: i64;
dc_unarchive_chat(context, chat_id); dc_unarchive_chat(context, chat_id);
@@ -2040,31 +2040,17 @@ pub unsafe fn dc_forward_msgs(
new_msg_id = prepare_msg_raw(context, chat, msg, fresh10); new_msg_id = prepare_msg_raw(context, chat, msg, fresh10);
dc_job_send_msg(context, new_msg_id); dc_job_send_msg(context, new_msg_id);
} }
carray_add( created_db_entries.push(chat_id);
created_db_entries, created_db_entries.push(new_msg_id);
chat_id as uintptr_t as *mut libc::c_void,
0 as *mut libc::c_uint,
);
carray_add(
created_db_entries,
new_msg_id as uintptr_t as *mut libc::c_void,
0 as *mut libc::c_uint,
);
} }
} }
if !created_db_entries.is_null() { for i in (0..created_db_entries.len()).step_by(2) {
let mut i = 0u32; context.call_cb(
let icnt = carray_count(created_db_entries); Event::MSGS_CHANGED,
while i < icnt { created_db_entries[i] as uintptr_t,
context.call_cb( created_db_entries[i + 1] as uintptr_t,
Event::MSGS_CHANGED, );
carray_get(created_db_entries, i) as uintptr_t,
carray_get(created_db_entries, i.wrapping_add(1)) as uintptr_t,
);
i = i.wrapping_add(2);
}
carray_free(created_db_entries);
} }
dc_contact_unref(contact); dc_contact_unref(contact);
dc_msg_unref(msg); dc_msg_unref(msg);