return dynar;
}
+/** @brief Initialize a dynar structure that was not malloc'ed
+ * This can be useful to keep temporary dynars on the stack
+ */
+void xbt_dynar_init(xbt_dynar_t dynar, const unsigned long elmsize, void_f_pvoid_t const free_f)
+{
+ dynar->size = 0;
+ dynar->used = 0;
+ dynar->elmsize = elmsize;
+ dynar->data = nullptr;
+ dynar->free_f = free_f;
+}
+
/** @brief Destructor of the structure not touching to the content
*
* \param dynar poor victim
unsigned long int p = -1;
unsigned long int q = dynar->used;
const unsigned long elmsize = dynar->elmsize;
- void *tmp = xbt_malloc(elmsize);
+ char* tmp[elmsize];
void *elm;
for (i = 0; i < q;) {
}
}
}
- xbt_free(tmp);
}
/** @brief Transform a dynar into a nullptr terminated array.