aboutsummaryrefslogtreecommitdiff
path: root/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'stack.c')
-rw-r--r--stack.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/stack.c b/stack.c
index 775269d..f594775 100644
--- a/stack.c
+++ b/stack.c
@@ -6,6 +6,7 @@
6/* Project */ 6/* Project */
7#include "util.h" 7#include "util.h"
8 8
9/* --8<-- stack_type */
9typedef int T; 10typedef int T;
10 11
11struct stack_item { 12struct stack_item {
@@ -16,13 +17,17 @@ struct stack_item {
16struct stack { 17struct stack {
17 struct stack_item *head; 18 struct stack_item *head;
18}; 19};
20/* -->8-- */
19 21
22/* --8<-- stack_init */
20void 23void
21stack_init(struct stack *stack) 24stack_init(struct stack *stack)
22{ 25{
23 stack->head = NULL; 26 stack->head = NULL;
24} 27}
28/* -->8-- */
25 29
30/* --8<-- stack_push */
26void 31void
27stack_push(struct stack *stack, T data) 32stack_push(struct stack *stack, T data)
28{ 33{
@@ -36,7 +41,9 @@ stack_push(struct stack *stack, T data)
36 else 41 else
37 ERROR("out of memory"); 42 ERROR("out of memory");
38} 43}
44/* -->8-- */
39 45
46/* --8<-- stack_pop */
40bool 47bool
41stack_pop(struct stack *stack, T *data) 48stack_pop(struct stack *stack, T *data)
42{ 49{
@@ -54,13 +61,17 @@ stack_pop(struct stack *stack, T *data)
54 else 61 else
55 return false; 62 return false;
56} 63}
64/* -->8-- */
57 65
66/* --8<-- stack_empty */
58bool 67bool
59stack_empty(struct stack *stack) 68stack_empty(struct stack *stack)
60{ 69{
61 return stack->head == NULL; 70 return stack->head == NULL;
62} 71}
72/* -->8-- */
63 73
74/* --8<-- stack_free */
64void 75void
65stack_free(struct stack *stack) 76stack_free(struct stack *stack)
66{ 77{
@@ -71,6 +82,7 @@ stack_free(struct stack *stack)
71 free(item); 82 free(item);
72 } 83 }
73} 84}
85/* -->8-- */
74 86
75int 87int
76main() 88main()