From 4fec6da25bab644a040606d2d0bcc49e0f79818b Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Mon, 20 Jul 2020 14:17:45 -0400 Subject: [PATCH] vector.h: Add AST_VECTOR_SORT() Allows a vector to be sorted in-place, rather than only during insertion. Change-Id: I22cba9ddf556a7e44dacc53c4431bd81dd2fa780 --- include/asterisk/vector.h | 10 ++++++++++ 1 file changed, 10 insertions(+) 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. * -- 2.47.2