X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7da2926d0733ff0683f31aeea176ce71e127264f..ce6136d5f1a9ce68cfa6c968c257bd6c00c531d7:/src/xbt/dynar.c diff --git a/src/xbt/dynar.c b/src/xbt/dynar.c index 28c6efcac4..5885ce21af 100644 --- a/src/xbt/dynar.c +++ b/src/xbt/dynar.c @@ -471,8 +471,8 @@ unsigned int xbt_dynar_search(xbt_dynar_t const dynar, void *const elem) return it; } - THROWF(not_found_error, 0, "Element %p not part of dynar %p", elem, - dynar); + THROWF(not_found_error, 0, "Element %p not part of dynar %p", elem, dynar); + return -1; // Won't happen, just to please eclipse } /** @brief Returns the position of the element in the dynar (or -1 if not found) @@ -630,6 +630,16 @@ XBT_INLINE void xbt_dynar_sort(xbt_dynar_t dynar, qsort(dynar->data, dynar->used, dynar->elmsize, compar_fn); } +static int strcmp_voidp(const void *pa, const void *pb) { + return strcmp(*(const char **)pa, *(const char **)pb); +} +/** @brief Sorts a dynar of strings (ie, char* data) */ +xbt_dynar_t xbt_dynar_sort_strings(xbt_dynar_t dynar) +{ + xbt_dynar_sort(dynar, strcmp_voidp); + return dynar; // to enable functional uses +} + /** @brief Sorts a dynar according to their color assuming elements can have only three colors. * Since there are only three colors, it is linear and much faster than a classical sort. * See for example http://en.wikipedia.org/wiki/Dutch_national_flag_problem