From 9022f35f098ae5ba87efab9dba66723512c786df Mon Sep 17 00:00:00 2001 From: Sean Bright <sean.bright@gmail.com> 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 291cdf4251..8f5cf8c8b0 100644 --- a/include/asterisk/vector.h +++ b/include/asterisk/vector.h @@ -387,6 +387,16 @@ int ast_vector_string_split(struct ast_vector_string *dest, 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. * -- GitLab