From: Timo Sirainen Date: Wed, 10 Feb 2021 20:06:29 +0000 (+0200) Subject: lib: Remove array_swap() X-Git-Tag: 2.3.16~185 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f79dbc248c971f5b32f7cfe1a9a47f90527f40b5;p=thirdparty%2Fdovecot%2Fcore.git lib: Remove array_swap() It's not used anywhere, and it's a bit too weird. --- diff --git a/src/lib/array.h b/src/lib/array.h index a1680203b9..e4e5cede2b 100644 --- a/src/lib/array.h +++ b/src/lib/array.h @@ -317,25 +317,6 @@ array_copy(struct array *dest, unsigned int dest_idx, count * dest->element_size); } -/* Exchange ownership of two arrays, which should have been allocated - from the same pool/context. Useful for updating an array with a - replacement. Can also do it with uninitialized arrays (which will - have .element_size == 0). */ -static inline void -array_swap_i(struct array *array1, struct array *array2) -{ - buffer_t *buffer = array1->buffer; - size_t elsize = array1->element_size; - - array1->buffer = array2->buffer; - array1->element_size = array2->element_size; - array2->buffer = buffer; - array2->element_size = elsize; -} -#define array_swap(array1, array2) \ - TYPE_CHECKS(void, ARRAY_TYPES_CHECK(array1, array2), \ - array_swap_i(&(array1)->arr, &(array2)->arr)) - bool array_cmp_i(const struct array *array1, const struct array *array2) ATTR_PURE; #define array_cmp(array1, array2) \ diff --git a/src/lib/test-array.c b/src/lib/test-array.c index 5309464f04..36a64ba816 100644 --- a/src/lib/test-array.c +++ b/src/lib/test-array.c @@ -80,28 +80,6 @@ static void test_array_foreach_elem_string(void) test_end(); } -static void test_array_swap(void) -{ - ARRAY(struct foo) foos[3]; - struct foo nfoo; - int i, j; - - test_begin("array swap"); - for (i = 1; i <= 3; i++) { - t_array_init(&foos[i-1], i); - for (j = 1; j <= 2*i+1; j++) { - nfoo.a = nfoo.b = nfoo.c = j; - array_push_back(&foos[i - 1], &nfoo); - } - } - for (i = 0; i < 1000; i++) - array_swap(&foos[i_rand_limit(3)], &foos[i_rand_limit(3)]); - /* Just want size 3, 5, and 7 in any order */ - test_assert(array_count(&foos[0]) * array_count(&foos[1]) * array_count(&foos[2]) == 3*5*7); - test_assert(array_count(&foos[0]) + array_count(&foos[1]) + array_count(&foos[2]) == 3+5+7); - test_end(); -} - static int test_int_compare(const int *key, const int *elem) { return (*key < *elem) ? -1 : @@ -292,7 +270,6 @@ void test_array(void) test_array_reverse(); test_array_cmp(); test_array_cmp_str(); - test_array_swap(); test_array_free(); }