From 1145c3533b814ed3892052b05f05869b9a13b9f9 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Fri, 2 Aug 2019 01:34:02 +0300 Subject: [PATCH] Use Vec instead of carray in dc_forward_msgs() --- src/dc_chat.rs | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/src/dc_chat.rs b/src/dc_chat.rs index 23b5956dd..c8c0d8a14 100644 --- a/src/dc_chat.rs +++ b/src/dc_chat.rs @@ -1973,7 +1973,7 @@ pub unsafe fn dc_forward_msgs( let msg = dc_msg_new_untyped(context); let chat = dc_chat_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; 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); dc_job_send_msg(context, new_msg_id); } - carray_add( - created_db_entries, - 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, - ); + created_db_entries.push(chat_id); + created_db_entries.push(new_msg_id); } } - if !created_db_entries.is_null() { - let mut i = 0u32; - let icnt = carray_count(created_db_entries); - while i < icnt { - context.call_cb( - 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); + for i in (0..created_db_entries.len()).step_by(2) { + context.call_cb( + Event::MSGS_CHANGED, + created_db_entries[i] as uintptr_t, + created_db_entries[i + 1] as uintptr_t, + ); } dc_contact_unref(contact); dc_msg_unref(msg);