From: Dave Barach Date: Fri, 24 Apr 2020 20:07:37 +0000 (-0400) Subject: vppinfra: finish deprecating qsort.c X-Git-Tag: v20.09-rc0~136 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=f593b5792031b3797cdcdfd3fbb33ac4de8c9a5d 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 Change-Id: I7bd7b0421673d2a025363089562aa7c6266fba66 --- diff --git a/src/vppinfra/qsort.c b/extras/deprecated/vppinfra/qsort.c similarity index 100% rename from src/vppinfra/qsort.c rename to extras/deprecated/vppinfra/qsort.c diff --git a/src/vppinfra/vec.h b/src/vppinfra/vec.h index 9054eaa5e57..e9836107799 100644 --- a/src/vppinfra/vec.h +++ b/src/vppinfra/vec.h @@ -1040,12 +1040,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.