@@ -45,7 +45,7 @@ int list_search(List_Head *pHead, List_Node *pNode)
assert(pHead != NULL);
if(pHead->count == 0) return 0;
pTemp = pHead->pNext;
- while(pTemp->pNext != NULL) {
+ while(pTemp != NULL) {
if(pTemp == pNode) return 1;
pTemp = pTemp->pNext;
}
@@ -329,8 +329,6 @@ int list_node_array(List_Head *pHead, void *pArr[], int len)
return 0;
}
-/* void* tempArray = malloc(width*elementsNeeded); */
-
void list_clear(List_Head *pHead)
{
List_Node *pTemp = pHead->pNext;
@@ -430,6 +430,29 @@ int test_linked_list()
if(pArr[5] != NULL) result++;
test_msg_end(result);
+ test_msg_start("Test Linked List - Search List");
+ list_clear(test_list1);
+ if(list_search(test_list1, test_node1) != 0) result++;
+ test_node1 = list_ins_head(test_list1);
+ if(list_search(test_list1, test_node1) != 1) result++;
+ if(list_search(test_list1, test_node2) != 0) result++;
+ if(list_search(test_list1, test_node3) != 0) result++;
+ if(list_search(test_list1, NULL) != 0) result++;
+ if(list_search(test_list1, (List_Node *)test_list1) != 0) result++;
+ test_node2 = list_ins_head(test_list1);
+ if(list_search(test_list1, test_node1) != 1) result++;
+ if(list_search(test_list1, test_node2) != 1) result++;
+ if(list_search(test_list1, test_node3) != 0) result++;
+ if(list_search(test_list1, NULL) != 0) result++;
+ if(list_search(test_list1, (List_Node *)test_list1) != 0) result++;
+ list_clear(test_list1);
+ if(list_search(test_list1, test_node1) != 0) result++;
+ if(list_search(test_list1, test_node2) != 0) result++;
+ if(list_search(test_list1, test_node3) != 0) result++;
+ if(list_search(test_list1, NULL) != 0) result++;
+ if(list_search(test_list1, (List_Node *)test_list1) != 0) result++;
+ test_msg_end(result);
+
return result;
}