]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: array - Add array_bsearch_modifiable()
authorMarco Bettini <marco.bettini@open-xchange.com>
Fri, 26 Jul 2024 09:04:05 +0000 (09:04 +0000)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:13 +0000 (12:34 +0200)
src/lib/array.h

index 12352e7510e47ab0766f5d5cd067ddbf532c6737..9debb37645cbef69a867cceef9f8a778ce9e7b32 100644 (file)
@@ -412,9 +412,18 @@ void array_sort_i(struct array *array, int (*cmp)(const void *, const void *));
 
 void *array_bsearch_i(struct array *array, const void *key,
                      int (*cmp)(const void *, const void *));
+static inline void *array_bsearch_modifiable_i(struct array *array, const void *key,
+                                              int (*cmp)(const void *, const void *))
+{
+       return (void *)array_bsearch_i(array, key, cmp);
+}
+
 #define array_bsearch(array, key, cmp) \
        ARRAY_TYPE_CAST_MODIFIABLE(array) \
        ARRAY_SEARCH_CALL(bsearch, array, key, cmp)
+#define array_bsearch_modifiable(array, key, cmp) \
+       ARRAY_TYPE_CAST_MODIFIABLE(array) \
+       ARRAY_SEARCH_CALL(bsearch_modifiable, array, key, cmp)
 
 /* Returns pointer to first element for which cmp(key,elem)==0, or NULL */
 const void *array_lsearch_i(const struct array *array, const void *key,