From 1e91f6a2048d0fb633c5033341218383c28ebc8d Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Tue, 23 Jul 2019 01:07:49 +0300 Subject: [PATCH] Merge dc_array_free_ptr into dc_array_unref --- src/dc_array.rs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/dc_array.rs b/src/dc_array.rs index a378e4740..259df106d 100644 --- a/src/dc_array.rs +++ b/src/dc_array.rs @@ -53,25 +53,13 @@ pub unsafe fn dc_array_unref(array: *mut dc_array_t) { return; } if (*array).type_0 == DC_ARRAY_LOCATIONS { - dc_array_free_ptr(array); + for &e in (*array).array.iter() { + Box::from_raw(e as *mut dc_location); + } } Box::from_raw(array); } -pub unsafe fn dc_array_free_ptr(array: *mut dc_array_t) { - if array.is_null() { - return; - } - for i in 0..(*array).array.len() { - if (*array).type_0 == DC_ARRAY_LOCATIONS { - Box::from_raw((*array).array[i] as *mut dc_location); - } else { - free((*array).array[i] as *mut libc::c_void); - } - (*array).array[i] = 0i32 as uintptr_t; - } -} - pub unsafe fn dc_array_add_uint(array: *mut dc_array_t, item: uintptr_t) { if !array.is_null() { (*array).add_uint(item);