From 5c2c4fa6d5f72c127d99a5a2952b3b3e39cadc40 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Thu, 6 Aug 2020 09:04:46 +0200 Subject: Fix: Der NEXT-Zeiger in einem neuem Item einer QUEUE muss mit NULL initialisiert werden --- queue.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/queue.c b/queue.c index fdacca5..c8ec31e 100644 --- a/queue.c +++ b/queue.c @@ -1,7 +1,7 @@ /* Standard C */ +#include #include #include -#include /* Project */ #include "util.h" @@ -10,7 +10,7 @@ typedef int T; struct queue_item { struct queue_item *next; - T data; + T data; }; struct queue { @@ -30,8 +30,9 @@ queue_put(struct queue *queue, T data) if ( (new_item = malloc(sizeof(*new_item))) != NULL ) { struct queue_item *tmp = queue->tail; - new_item->data = data; - queue->tail = new_item; + new_item->data = data; + new_item->next = NULL; + queue->tail = new_item; if ( queue->head == NULL ) queue->head = queue->tail; else @@ -46,7 +47,7 @@ queue_get(struct queue *queue, T *data) { if ( queue->head != NULL ) { struct queue_item *next = queue->head->next; - *data = queue->head->data; + *data = queue->head->data; free(queue->head); queue->head = next; @@ -81,6 +82,3 @@ main() } return EXIT_SUCCESS; } - - - -- cgit v1.3