r6:Function:stack guaranteed push

From liblfds.org
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Source Files

/src/stack/stack_push_pop.c
/inc/liblfds.h

Prototype

int stack_guaranteed_push( struct stack_state *ss, void *user_data );

Parameters

struct stack_state *ss

A stack state as allocated by 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 stack_push fails only when the stack's freelist is empty. In this event, 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.

See Also