r6.0.0:lfds600_stack_guaranteed_push

From liblfds.org
Revision as of 14:07, 4 January 2015 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Source Files

/liblfds600/src/lfds600_stack/lfds600_stack_push_pop.c
/liblfds600/inc/liblfds600.h

Prototype

int lfds600_stack_guaranteed_push( struct lfds600_stack_state *ss, void *user_data );

Parameters

struct lfds600_stack_state *ss

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