void stack_delete( struct stack_state *ss, void (*user_data_delete_function)(void *user_data, void *user_state), void *user_state );
struct stack_state *ss
- A stack state as allocated by stack_new.
void (*user_data_delete_function)(void *user_data, void *user_state)
- A callback function, which can be NULL. This function is called with the user data void pointer from each element before that element is deleted, giving the user an opportunity to delete any allocated state.
- This pointer is passed into the user_data_delete_function as its second argument, enabling the caller to pass state into the callback function.
No return value.
This function deletes the stack. If there are any elements present in the stack at the time of deletion, the function loops, popping an element and passing its user data void pointer to user_data_delete_function, until the stack is empty.