コード例 #1
0
static inline void
devil_array_regrow(devil_array_t* array)
{
  size_t old_size = array->finish - array->start;
  size_t new_capacity = (size_t)(array->capacity * 1.5);
  void** new_elems = (void**)devil_malloc(sizeof(void*) * new_capacity);
  assert(NULL != new_elems);

  memmove(new_elems, array->elems, sizeof(void*) * old_size);
  devil_free(array->elems);
  array->elems = new_elems;
  array->start = array->elems;
  array->finish = array->elems + old_size;
  array->capacity = new_capacity;
}
コード例 #2
0
void
devil_array_release(devil_array_t* array)
{
  devil_free(array->elems);
  devil_free(array);
}
コード例 #3
0
void
devil_thread_release(devil_thread_t* thread)
{
  devil_thread_join(thread);
  devil_free(thread);
}