aboutsummaryrefslogtreecommitdiff
path: root/src/linked_list.c
diff options
context:
space:
mode:
authorMikkel Thestrup <mithe24@student.sdu.dk>2025-12-11 14:38:07 +0100
committerMikkel Thestrup <mithe24@student.sdu.dk>2025-12-11 14:38:07 +0100
commit5706a0d893e014acca2b58e747273893a5cf16f0 (patch)
tree33416611c66a6b2435581b190317d28fe880245c /src/linked_list.c
parent22202ef5bb15c55d484cf50d0b39470dbb57cf26 (diff)
downloadcycle-detector-5706a0d893e014acca2b58e747273893a5cf16f0.tar.gz
cycle-detector-5706a0d893e014acca2b58e747273893a5cf16f0.zip
Use c99 style of initializing structs
Diffstat (limited to '')
-rw-r--r--src/linked_list.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/linked_list.c b/src/linked_list.c
index 2e290e9..6335c3d 100644
--- a/src/linked_list.c
+++ b/src/linked_list.c
@@ -2,14 +2,11 @@
#include <stdlib.h>
LinkedList *linked_list_new(void) {
- LinkedList *ll = (LinkedList *)malloc(sizeof(LinkedList));
+ /* Note that the members of the linked list
+ * is initialized to 0 when using calloc() */
+ LinkedList *ll = (LinkedList *)calloc(1, sizeof(LinkedList));
if (!ll)
return NULL;
-
- ll->head = NULL;
- ll->tail = NULL;
- ll->size = 0;
-
return ll;
}
@@ -27,19 +24,18 @@ void linked_list_delete(LinkedList *ll) {
}
LinkedListNode *linked_list_append(LinkedList *ll, void *elem) {
- LinkedListNode *new_node = (LinkedListNode *)malloc(sizeof(LinkedListNode));
+ LinkedListNode *new_node = calloc(1, sizeof(LinkedListNode));
if (!new_node)
return NULL;
-
new_node->data = elem;
- new_node->next = NULL;
+
if (!ll->head) {
new_node->prev = NULL;
ll->head = new_node;
ll->tail = new_node;
} else {
- ll->tail->next = new_node;
new_node->prev = ll->tail;
+ ll->tail->next = new_node;
ll->tail = new_node;
}