added a few error checks to stack and queue, need to test
This commit is contained in:
parent
314f490bef
commit
b4eaee5242
2 changed files with 19 additions and 4 deletions
|
|
@ -32,10 +32,20 @@ void ARC_Queue_Destroy(ARC_Queue *queue){
|
||||||
}
|
}
|
||||||
|
|
||||||
void ARC_Queue_Push(ARC_Queue *queue, void *data){
|
void ARC_Queue_Push(ARC_Queue *queue, void *data){
|
||||||
//TODO: check if size exceeds uint32_t
|
if(queue->currentSize == ~(uint32_t)0){
|
||||||
|
arc_errno = ARC_ERRNO_OVERFLOW;
|
||||||
|
ARC_DEBUG_ERR("ARC_Queue_Push(queue) called, size of queue is maxed, cannot add another node");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ARC_QueueNode *end = queue->node;
|
ARC_QueueNode *end = queue->node;
|
||||||
for(uint32_t i = 0; i < queue->currentSize; i++){
|
for(uint32_t i = 0; i < queue->currentSize; i++){
|
||||||
//TODO: check if end->next exists
|
if(end == NULL){
|
||||||
|
arc_errno = ARC_ERRNO_NULL;
|
||||||
|
ARC_DEBUG_ERR("ARC_Queue_Push(queue), when getting end node encountered a NULL node");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
end = end->next;
|
end = end->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +63,7 @@ void *ARC_Queue_Pop(ARC_Queue *queue){
|
||||||
arc_errno = ARC_ERRNO_DATA;
|
arc_errno = ARC_ERRNO_DATA;
|
||||||
ARC_DEBUG_ERR("ARC_Queue_Pop(queue) called, but queue was not empty");
|
ARC_DEBUG_ERR("ARC_Queue_Pop(queue) called, but queue was not empty");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ARC_QueueNode *node = queue->node;
|
ARC_QueueNode *node = queue->node;
|
||||||
if(node == NULL){
|
if(node == NULL){
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,12 @@ void ARC_Stack_Destroy(ARC_Stack *stack){
|
||||||
}
|
}
|
||||||
|
|
||||||
void ARC_Stack_Push(ARC_Stack *stack, void *data){
|
void ARC_Stack_Push(ARC_Stack *stack, void *data){
|
||||||
//TODO: check if size exceeds uint32_t
|
if(stack->currentSize == ~(uint32_t)0){
|
||||||
|
arc_errno = ARC_ERRNO_OVERFLOW;
|
||||||
|
ARC_DEBUG_ERR("ARC_Stack_Push(stack) called, size of stack is maxed, cannot add another node");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ARC_StackNode *node = (ARC_StackNode *)malloc(sizeof(ARC_StackNode));
|
ARC_StackNode *node = (ARC_StackNode *)malloc(sizeof(ARC_StackNode));
|
||||||
node->data = data;
|
node->data = data;
|
||||||
node->next = NULL;
|
node->next = NULL;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue