diff options
| author | Mikkel Thestrup <mithe24@student.sdu.dk> | 2025-12-11 14:38:07 +0100 |
|---|---|---|
| committer | Mikkel Thestrup <mithe24@student.sdu.dk> | 2025-12-11 14:38:07 +0100 |
| commit | 5706a0d893e014acca2b58e747273893a5cf16f0 (patch) | |
| tree | 33416611c66a6b2435581b190317d28fe880245c /src/linked_list.c | |
| parent | 22202ef5bb15c55d484cf50d0b39470dbb57cf26 (diff) | |
| download | cycle-detector-5706a0d893e014acca2b58e747273893a5cf16f0.tar.gz cycle-detector-5706a0d893e014acca2b58e747273893a5cf16f0.zip | |
Use c99 style of initializing structs
Diffstat (limited to 'src/linked_list.c')
| -rw-r--r-- | src/linked_list.c | 16 |
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; } |