X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9c9611048fd2ec0703fd78f44e9513ec8a25fda2..49b15c3b9199c232861be518bb9ab3017341d462:/src/xbt/dynar.c diff --git a/src/xbt/dynar.c b/src/xbt/dynar.c index fae042b078..30eafd0162 100644 --- a/src/xbt/dynar.c +++ b/src/xbt/dynar.c @@ -748,6 +748,22 @@ XBT_INLINE void xbt_dynar_sort(xbt_dynar_t dynar, _dynar_unlock(dynar); } +/** @brief Transform a dynar into a NULL terminated array + * + * \param dynar the dynar to transform + */ +XBT_INLINE void * xbt_dynar_to_array (xbt_dynar_t dynar) +{ + void * res; + void * last = xbt_new0(char,dynar->elmsize); + xbt_dynar_push(dynar, last); + free(last); + dynar->used--; + res = dynar->data; + free(dynar); + return res; +} + /* * Return 0 if d1 and d2 are equal and 1 if not equal */ @@ -949,7 +965,7 @@ XBT_TEST_UNIT("int", test_dynar_int, "Dynars of integers") /*******************************************************************************/ XBT_TEST_UNIT("insert",test_dynar_insert,"Using the xbt_dynar_insert and xbt_dynar_remove functions") { - xbt_dynar_t d = xbt_dynar_new(sizeof(int), NULL); + xbt_dynar_t d = xbt_dynar_new(sizeof(unsigned int), NULL); unsigned int cursor; int cpt;