From 3046baee7893e77c3d4f863488ca0a4d9f92ea52 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sat, 6 Sep 2025 09:00:37 +1000 Subject: [PATCH] fix stack --- util.d | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/util.d b/util.d index 3646dee..6cc4411 100644 --- a/util.d +++ b/util.d @@ -198,31 +198,31 @@ DLLPush(T, U)(T* list, U* node, U* nil) struct Stack(T) { - Node!(T)* first; + Node!(T)* top; } void -SPush(T, U)(T* stack, U* node, U* nil) +SPush(T)(Stack!(T)* stack, Node!(T)* node, Node!(T)* nil) { - if (CheckNil(nil, stack.first)) + if (CheckNil(nil, stack.top)) { - stack.first = node; + stack.top = node; node.next = nil; } else { - node.next = stack.first; - stack.first = node; + node.next = stack.top; + stack.top = node; } } -U* -SPop(T, U)(T* stack, U* nil) +Node!(T)* +SPop(T)(Stack!(T)* stack, Node!(T)* nil) { - U* node = stack.first; - if (!CheckNil(nil, stack.first)) + Node!(T)* node = stack.top; + if (!CheckNil(nil, stack.top)) { - stack.first = stack.first.next; + stack.top = stack.top.next; } return node; } @@ -976,7 +976,7 @@ unittest SPush(&stack, &n3, null); u32 count = 3; - for (auto n = stack.first; !CheckNil(null, n); n = n.next, count -= 1) + for (auto n = stack.top; !CheckNil(null, n); n = n.next, count -= 1) { assert(n.value == count); } @@ -987,6 +987,6 @@ unittest assert(n.value == count); } - assert(stack.first == null); + assert(stack.top == null); } }