From e66d9cd721427e2afdde2512cae87ab7b8dcb517 Mon Sep 17 00:00:00 2001
From: Boris Stefanovic <owldev@bluewin.ch>
Date: Mon, 29 Nov 2021 11:09:47 +0100
Subject: [PATCH] ADD: stack_print: add special case for empty stack

---
 stack.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/stack.c b/stack.c
index 4699c29..df4e961 100644
--- a/stack.c
+++ b/stack.c
@@ -18,9 +18,13 @@ void stack_peek(stack s, int *value){
 }
 
 void stack_print(const stack s) {
-	printf("          TOP\n--------------------\n");
-	for (int* spot = s.data + s.top; spot >= s.data; --spot) {
-		printf("%8d |  %12d\n", spot - s.data, *spot);
+	if (s.top >= 0) {
+		printf("          TOP\n--------------------\n");
+		for (int* spot = s.data + s.top; spot >= s.data; --spot) {
+			printf("%8d |  %12d\n", spot - s.data, *spot);
+		}
+		printf("--------------------\n          BOTTOM\n");
+	} else {
+		printf("STACK EMPTY\n");
 	}
-	printf("--------------------\n          BOTTOM\n");
 }
-- 
GitLab