Exemplo n.º 1
0
Arquivo: dynar.c Projeto: R7R8/simgrid
/** @brief Transform a dynar into a NULL terminated array. 
 *
 *  \param dynar the dynar to transform
 *  \return pointer to the first element of the array
 *
 *  Note: The dynar won't be usable afterwards.
 */
inline void *xbt_dynar_to_array(xbt_dynar_t dynar)
{
  void *res;
  xbt_dynar_shrink(dynar, 1);
  memset(xbt_dynar_push_ptr(dynar), 0, dynar->elmsize);
  res = dynar->data;
  free(dynar);
  return res;
}
Exemplo n.º 2
0
static void array_new(unsigned **a, xbt_dynar_t *data)
{
  int i;
  *a = xbt_malloc(ARRAY_SIZE * sizeof **a);
  *data = xbt_dynar_new(sizeof *a, NULL);
  xbt_dynar_shrink(*data, ARRAY_SIZE);
  for (i = 0 ; i < ARRAY_SIZE ; i++) {
    (*a)[i] = i;
    xbt_dynar_push_as(*data, void*, &(*a)[i]);
  }
}