From 146eab763c70ec76833f768ca9c7ca9326b81c76 Mon Sep 17 00:00:00 2001 From: a bellenir Date: Thu, 21 Aug 2014 07:54:53 +0000 Subject: [PATCH] rm gigo case & need for stoopid if --- source/list/list.c | 17 +++++++---------- tests/test_list.c | 3 ++- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/source/list/list.c b/source/list/list.c index 3e947af..48bc36b 100644 --- a/source/list/list.c +++ b/source/list/list.c @@ -177,16 +177,13 @@ void list_delete_node(list_t* list, list_node_t* node) { 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); } } diff --git a/tests/test_list.c b/tests/test_list.c index 6af7a1a..7c03dd0 100644 --- a/tests/test_list.c +++ b/tests/test_list.c @@ -711,6 +711,7 @@ TEST_SUITE(List) { //------------------------------------------------------------------------- // 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(); @@ -725,7 +726,7 @@ TEST_SUITE(List) { 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(); -- 2.52.0