xbt_assert1(dynar->used, \
"dynar %p contains nothing",(void*)dynar)
-static _XBT_INLINE
+static XBT_INLINE
void _xbt_clear_mem(void * const ptr,
const unsigned long length) {
memset(ptr, 0, length);
}
-static _XBT_INLINE
+static XBT_INLINE
void
_xbt_dynar_expand(xbt_dynar_t const dynar,
const int nb) {
}
}
-static _XBT_INLINE
+static XBT_INLINE
void *
_xbt_dynar_elm(const xbt_dynar_t dynar,
const unsigned long idx) {
return data + idx*elmsize;
}
-static _XBT_INLINE
+static XBT_INLINE
void
_xbt_dynar_get_elm(void * const dst,
const xbt_dynar_t dynar,
memcpy(dst, elm, dynar->elmsize);
}
-static _XBT_INLINE
+static XBT_INLINE
void
_xbt_dynar_put_elm(const xbt_dynar_t dynar,
const unsigned long idx,
*
* Get the Nth element of a dynar, removing it from the dynar and moving
* all subsequent values to one position left in the dynar.
+ *
+ * If the object argument of this function is a non-null pointer, the removed
+ * element is copied to this address. If not, the element is freed using the
+ * free_f function passed at dynar creation.
*/
void
xbt_dynar_remove_at(xbt_dynar_t const dynar,
void *const elem) {
int it;
- for (it=0; it< dynar->size; it++)
+ for (it=0; it< dynar->used; it++)
if (!memcmp(_xbt_dynar_elm(dynar, it),elem,dynar->elmsize))
return it;