r6.1.1:lfds611_stack_guaranteed_push
Jump to navigation
Jump to search
Source Files
/liblfds611/src/lfds611_stack/lfds611_stack_push_pop.c /liblfds611/inc/liblfds611.h
Prototype
int lfds611_stack_guaranteed_push( struct lfds611_stack_state *ss, void *user_data );
Parameters
struct lfds611_stack_state *ss
- A stack state as allocated by lfds611_stack_new.
void *user_data
- A void pointer of user data which will be pushed onto the stack.
Return Value
The return value is 1 upon successful push, 0 upon failure. Failure occurs only when malloc fails.
Notes
The function lfds611_stack_push fails only when the stack's freelist is empty. In this event, lfds611_stack_guaranteed_push can be called, which allocates a new element and pushes using that new element, thus guaranteeing a push, barring the event of malloc failure.