From: Sean Bright Date: Mon, 20 Jul 2020 18:17:45 +0000 (-0400) Subject: vector.h: Add AST_VECTOR_SORT() X-Git-Tag: 13.36.0-rc1~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4fec6da25bab644a040606d2d0bcc49e0f79818b;p=thirdparty%2Fasterisk.git vector.h: Add AST_VECTOR_SORT() Allows a vector to be sorted in-place, rather than only during insertion. Change-Id: I22cba9ddf556a7e44dacc53c4431bd81dd2fa780 --- diff --git a/include/asterisk/vector.h b/include/asterisk/vector.h index 0e33590560..3f557f02c7 100644 --- a/include/asterisk/vector.h +++ b/include/asterisk/vector.h @@ -357,6 +357,16 @@ AST_VECTOR(ast_vector_string, char *); res; \ }) +/*! + * \brief Sort a vector in-place + * + * \param vec Vector to sort + * \param cmp A memcmp compatible compare function + */ +#define AST_VECTOR_SORT(vec, cmp) ({ \ + qsort((vec)->elems, (vec)->current, sizeof(typeof((vec)->elems[0])), cmp); \ +}) + /*! * \brief Remove an element from a vector by index. *