]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
vector.h: Add AST_VECTOR_SORT()
authorSean Bright <sean.bright@gmail.com>
Mon, 20 Jul 2020 18:17:45 +0000 (14:17 -0400)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Fri, 24 Jul 2020 14:03:32 +0000 (09:03 -0500)
Allows a vector to be sorted in-place, rather than only during
insertion.

Change-Id: I22cba9ddf556a7e44dacc53c4431bd81dd2fa780

include/asterisk/vector.h

index 291cdf42517ac74bb8fac48ba7472d07e3b8764d..8f5cf8c8b03011d0315cef8d1c3619b84c135528 100644 (file)
@@ -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.
  *