Lines Matching defs:stack
2 * stack.c
10 #include "stack.h"
15 node_stack_t *stack;
17 stack = PyMem_Malloc(sizeof(node_stack_t));
18 stack->stack = PyMem_Malloc(sizeof(node_t *) * size);
19 stack->size = size;
20 stack->stackptr = 0;
21 return stack;
25 stack_delete(node_stack_t *stack)
27 PyMem_Free(stack->stack);
28 PyMem_Free(stack);
32 stack_push(node_stack_t *stack, node_t *node)
34 stack->stack[stack->stackptr++] = node;
35 if (stack->stackptr >= stack->size) {
36 stack->size *= 2;
37 stack->stack = PyMem_Realloc(stack->stack,
38 sizeof(node_t *) * stack->size);
43 stack_pop(node_stack_t *stack)
45 return (stack->stackptr > 0) ? stack->stack[--stack->stackptr] : NULL;
49 stack_is_empty(node_stack_t *stack)
51 return (stack->stackptr == 0);
55 stack_reset(node_stack_t *stack)
57 stack->stackptr = 0;