Lines Matching refs:stack

19 do_push (List *stack, void *elem, int isstring)  in do_push()  argument
28 addnode(stack, p); in do_push()
34 push (List *stack, void *elem) in push() argument
36 do_push (stack, elem, 0); in push()
42 push_string (List *stack, char *elem) in push_string() argument
44 do_push (stack, elem, 1); in push_string()
50 do_pop (List *stack, int isstring) in do_pop() argument
54 if (isempty (stack)) return NULL; in do_pop()
58 elem = stack->list->prev->key; in do_pop()
59 stack->list->prev->key = NULL; in do_pop()
63 elem = stack->list->prev->data; in do_pop()
64 stack->list->prev->data = NULL; in do_pop()
67 delnode (stack->list->prev); in do_pop()
74 pop (List *stack) in pop() argument
76 return do_pop (stack, 0); in pop()
82 pop_string (List *stack) in pop_string() argument
84 return do_pop (stack, 1); in pop_string()
90 do_unshift (List *stack, void *elem, int isstring) in do_unshift() argument
99 addnode_at_front(stack, p); in do_unshift()
105 unshift (List *stack, void *elem) in unshift() argument
107 do_unshift (stack, elem, 0); in unshift()
113 unshift_string (List *stack, char *elem) in unshift_string() argument
115 do_unshift (stack, elem, 1); in unshift_string()
121 do_shift (List *stack, int isstring) in do_shift() argument
125 if (isempty (stack)) return NULL; in do_shift()
129 elem = stack->list->next->key; in do_shift()
130 stack->list->next->key = NULL; in do_shift()
134 elem = stack->list->next->data; in do_shift()
135 stack->list->next->data = NULL; in do_shift()
137 delnode (stack->list->next); in do_shift()
144 shift (List *stack) in shift() argument
146 return do_shift (stack, 0); in shift()
152 shift_string (List *stack) in shift_string() argument
154 return do_shift (stack, 1); in shift_string()
160 isempty (List *stack) in isempty() argument
162 if (stack->list == stack->list->next) in isempty()