This syntax (in ghost.c) probably doesn't do what you think:
Code:
if(4.70 <= data <= 5.00){
You probably mean this:
Code:
if (4.70 <= data && data <= 5.00) {
This list handling code is incorrect:
Code:
void removeEvidenceNode(EvidenceLinkedList* list, EvidenceNodeType* node){
if(node != NULL){
EvidenceNodeType* prev = node->prev;
EvidenceNodeType* next = node->next;
if(prev == NULL)
list->head = node->next;
if(next == NULL)
list->tail = node->prev;
if(next != NULL && prev != NULL) {
prev->next = next;
next->prev = prev;
}
}
}
It should be more like this:
Code:
void removeEvidenceNode(EvidenceLinkedList* list, EvidenceNodeType* node){
if(node != NULL){
EvidenceNodeType* prev = node->prev;
EvidenceNodeType* next = node->next;
if(prev == NULL)
list->head = next;
else
prev->next = next;
if(next == NULL)
list->tail = prev;
else
next->prev = prev;
}
}