From d42f0f679e256c6a7bf82ed1c3401ced17effd98 Mon Sep 17 00:00:00 2001 From: herbglitch Date: Mon, 26 Feb 2024 02:55:08 -0700 Subject: [PATCH] fixed up pushing to queue --- src/std/queue.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/std/queue.c b/src/std/queue.c index 1c1e10d..6e8c71b 100644 --- a/src/std/queue.c +++ b/src/std/queue.c @@ -38,9 +38,20 @@ void ARC_Queue_Push(ARC_Queue *queue, void *data){ return; } + if(queue->currentSize == 0){ + ARC_QueueNode *node = (ARC_QueueNode *)malloc(sizeof(ARC_QueueNode)); + node->data = data; + node->next = NULL; + + queue->node = node; + queue->currentSize++; + + return; + } + ARC_QueueNode *end = queue->node; for(uint32_t i = 0; i < queue->currentSize; i++){ - if(end == NULL){ + if(end->next == NULL){ arc_errno = ARC_ERRNO_NULL; ARC_DEBUG_ERR("ARC_Queue_Push(queue), when getting end node encountered a NULL node"); return;