stack.c test laufen alle
This commit is contained in:
parent
382c36b1b4
commit
74fdcf500f
5
makefile
5
makefile
@ -1,5 +1,6 @@
|
||||
CC = gcc
|
||||
FLAGS = -g -Wall -lm
|
||||
ASAN_FLAGS = -fsanitize=address
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
include makefile_windows.variables
|
||||
@ -39,7 +40,7 @@ unitTests:
|
||||
TEST_BIN = runTests
|
||||
|
||||
unitTests: stack.o test_stack.o
|
||||
$(CC) $(FLAGS) -I$(unityfolder) -o $(TEST_BIN) stack.o test_stack.o $(unityfolder)/unity.c
|
||||
$(CC) $(FLAGS) $(ASAN_FLAGS) -I$(unityfolder) -o $(TEST_BIN) stack.o test_stack.o $(unityfolder)/unity.c
|
||||
|
||||
test_stack.o: test_stack.c
|
||||
$(CC) $(FLAGS) -I$(unityfolder) -c test_stack.c -o test_stack.o
|
||||
@ -51,5 +52,5 @@ clean:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
rm -f *.o doble
|
||||
else
|
||||
del /f *.o doble
|
||||
rm -f *.o doble
|
||||
endif
|
||||
17
stack.c
17
stack.c
@ -68,16 +68,17 @@ StackNode *pop(StackNode *stack)
|
||||
void *top(StackNode *stack) { return stack != NULL ? stack->data : NULL; }
|
||||
|
||||
// Clears stack and releases all memory.
|
||||
void clearStack(StackNode *stack)
|
||||
void clearStack(StackNode **stack)
|
||||
{
|
||||
while (stack != NULL)
|
||||
while (*stack != NULL)
|
||||
{
|
||||
|
||||
StackNode *next = stack->next;
|
||||
free(stack);
|
||||
stack = next;
|
||||
stack->data = NULL;
|
||||
stack->next = NULL;
|
||||
stack->prev = NULL;
|
||||
StackNode *next = (*stack)->next;
|
||||
free(*stack);
|
||||
(*stack)->data = NULL;
|
||||
(*stack)->next = NULL;
|
||||
(*stack)->prev = NULL;
|
||||
(*stack) = next;
|
||||
|
||||
}
|
||||
}
|
||||
2
stack.h
2
stack.h
@ -40,6 +40,6 @@ StackNode *pop(StackNode *stack);
|
||||
void *top(StackNode *stack);
|
||||
|
||||
// Clears stack and releases all memory.
|
||||
void clearStack(StackNode *stack);
|
||||
void clearStack(StackNode **stack);
|
||||
|
||||
#endif
|
||||
|
||||
@ -36,7 +36,7 @@ void test_clearStack(void) {
|
||||
testStack = push(testStack, &testInts[i]);
|
||||
}
|
||||
|
||||
clearStack(testStack);
|
||||
clearStack(&testStack);
|
||||
TEST_ASSERT_NULL(testStack);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user