Example #1
0
/**
 * 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);
}