{
if(NULL != list && NULL != node)
{
- int idx = list_index_of(list, node); //TODO: why the fuck is this necessary?
- if(idx > -1){
- if(NULL != node->prev) node->prev->next = node->next;
- else list->head = node->next;
- if(NULL != node->next) node->next->prev = node->prev;
- else list->tail = node->prev;
- node->next = NULL;
- node->prev = NULL;
- mem_release(node);
- }
+ if(NULL != node->prev) node->prev->next = node->next;
+ else list->head = node->next;
+ if(NULL != node->next) node->next->prev = node->prev;
+ else list->tail = node->prev;
+ node->next = NULL;
+ node->prev = NULL;
+ mem_release(node);
}
}
//-------------------------------------------------------------------------
// Test list_delete_node function
//-------------------------------------------------------------------------
+ /*TODO: confirm case is GIGO:
TEST(Verify_delete_node_does_nothing_if_list_is_empty)
{
list_t* list = list_new();
mem_release(bogus);
}
- /*TODO: confirm case is GIGO:
+ TODO: confirm case is GIGO:
TEST(Verify_delete_node_does_nothing_if_given_node_not_in_list)
{
list_t* list = list_new();