diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/inc/stack.h | 1 | ||||
-rw-r--r-- | libc/stack.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/libc/inc/stack.h b/libc/inc/stack.h index 8fec25f..16725f8 100644 --- a/libc/inc/stack.h +++ b/libc/inc/stack.h @@ -23,5 +23,6 @@ u32 stack_push_bot(struct stack *stack, void *data); u32 stack_push(struct stack *stack, void *data); void *stack_pop(struct stack *stack); void *stack_peek(struct stack *stack); +void stack_clear(struct stack *stack); #endif diff --git a/libc/stack.c b/libc/stack.c index dac18a2..c47dd59 100644 --- a/libc/stack.c +++ b/libc/stack.c @@ -117,3 +117,9 @@ void *stack_peek(struct stack *stack) return stack->tail; } + +void stack_clear(struct stack *stack) +{ + while (stack_pop(stack)) + ; +} |