ptrarray
struct ptrarray sample_list[SAMPLE_MODE_NUM];
ptrarray_push(struct ptrarray *ptrarray, void *ptr)
if (ptrarray->pa_inuse >= ptrarray->pa_allocnum) {
ptrarray->pa_allocnum += 1024;
error = reallocarr(&ptrarray->pa_ptrs, ptrarray->pa_allocnum,
sizeof(*ptrarray->pa_ptrs));
ptrarray->pa_ptrs[ptrarray->pa_inuse++] = ptr;
ptrarray_iterate(struct ptrarray *ptrarray, void (*ifunc)(void *))
for (i = 0; i < ptrarray->pa_inuse; i++) {
(*ifunc)(ptrarray->pa_ptrs[i]);
ptrarray_clear(struct ptrarray *ptrarray)
ptrarray->pa_inuse = 0;
struct ptrarray *samples;