Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a new function xbt_dynar_to_array that transforms a dynar into a
[simgrid.git] / src / xbt / dynar.c
index fae042b..c84b2ee 100644 (file)
@@ -748,6 +748,19 @@ 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 * last = xbt_new0(char,dynar->elmsize);
+       xbt_dynar_push(dynar, last);
+       free(last);
+       dynar->used--;
+       return dynar->data;
+}
+
 /*
  * Return 0 if d1 and d2 are equal and 1 if not equal
  */
@@ -949,7 +962,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;