void darray_push(struct darray *da, void *elem) { if(da->logical_size == da->alloc_size) { check(darray_grow(da) == 0, "darray couldn't grow"); } da->data[da->logical_size] = elem; da->logical_size++; error: return; }
void darray_add(DArray *DAP, int val) { if (!darray_full(DAP)) { DAP->items[DAP->cur_size++] = val; } else if (!darray_grow(DAP)) { DAP->items[DAP->cur_size++] = val; } else { printf("darray add failure\n"); exit(EXIT_FAILURE); } }