/** * Free a stack. * * @param sh a stack handler. */ void stack_free(stack sh) { register unsigned int ix; if (NULL == sh) { return; } if (NULL != sh->destroy) { for (ix = 0; ix < sh->sz; ix++) { sh->destroy(sh->arr[ix]); } } free(sh->arr); free(sh); }