vppinfra: finish deprecating qsort.c

Minor change to vec_sort_with_function(...): don't depend on the qsort
implementation to deal with null, zero-long, or 1-long vectors

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I7bd7b0421673d2a025363089562aa7c6266fba66
(cherry picked from commit f593b5792031b3797cdcdfd3fbb33ac4de8c9a5d)
This commit is contained in:
Dave Barach
2020-04-24 16:07:37 -04:00
committed by Andrew Yourtchenko
parent eaef2de7f9
commit 3b49dc6cc8
2 changed files with 7 additions and 3 deletions

View File

@ -974,12 +974,16 @@ do { \
/** \brief Sort a vector using the supplied element comparison function
Does not depend on the underlying implementation to deal correctly
with null, zero-long, or 1-long vectors
@param vec vector to sort
@param f comparison function
*/
#define vec_sort_with_function(vec,f) \
do { \
qsort (vec, vec_len (vec), sizeof (vec[0]), (void *) (f)); \
#define vec_sort_with_function(vec,f) \
do { \
if (vec_len (vec) > 1) \
qsort (vec, vec_len (vec), sizeof (vec[0]), (void *) (f)); \
} while (0)
/** \brief Make a vector containing a NULL terminated c-string.