From: a bellenir Date: Thu, 21 Aug 2014 17:25:51 +0000 (+0000) Subject: address mdl comments on PR X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=5034c5b4bfa62644b41d97af47d9b1800a96c51a;p=projs%2Flibcds.git address mdl comments on PR --- diff --git a/source/list/list.c b/source/list/list.c index 7beba4c..13dfa66 100644 --- a/source/list/list.c +++ b/source/list/list.c @@ -85,7 +85,8 @@ list_node_t* list_push_back( list_t* list, void* contents ) list_node_t* list_pop_front( list_t* list ) { list_node_t* node = list->head; - if(node){ + if(node) + { mem_retain(node); list_delete_node(list, node); } @@ -95,7 +96,8 @@ list_node_t* list_pop_front( list_t* list ) list_node_t* list_pop_back( list_t* list ) { list_node_t* node = list->tail; - if(node){ + if(node) + { mem_retain(node); list_delete_node(list, node); } @@ -106,8 +108,10 @@ list_node_t* list_insert( list_t* list, size_t index, void* contents) { list_node_t* new_node = NULL; list_node_t* prev = (index > 0 ? list_at(list, index-1) : NULL); - if(prev || index == 0) new_node = list_insert_after(list, prev, contents); - else mem_release(contents); + if(prev || index == 0) + new_node = list_insert_after(list, prev, contents); + else + mem_release(contents); return new_node; } @@ -118,32 +122,35 @@ list_node_t* list_insert_after( list_t* list, list_node_t* node, void* contents) new_node->prev = node; new_node->next = next; //node's next ptr or list's head - if(node) node->next = new_node; - else list->head = new_node; + if(node) + node->next = new_node; + else + list->head = new_node; //next's prev ptr or list's tail - if(next) next->prev = new_node; - else list->tail = new_node; + if(next) + next->prev = new_node; + else + list->tail = new_node; return new_node; } -list_node_t* list_delete( list_t* list, size_t index) +void list_delete( list_t* list, size_t index) { - list_node_t* node = list_at(list, index); - list_node_t* next = node ? node->next : NULL; - list_delete_node(list, node); - return next; //TODO: this return is stoopid. why is this happening? - //this function should be one line and return void: - //list_delete_node(list, list_at(list, index)); + list_delete_node(list, list_at(list, index)); } void list_delete_node(list_t* list, list_node_t* node) { if(NULL != list && NULL != 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; + 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); @@ -153,7 +160,8 @@ void list_delete_node(list_t* list, list_node_t* node) void list_clear(list_t* list) { list_node_t* node = list->tail; - while(NULL != node){ + while(NULL != node) + { list_node_t* p = node->prev; node->prev = NULL; node->next = NULL; diff --git a/source/list/list.h b/source/list/list.h index 87b9f61..a2f6c6e 100644 --- a/source/list/list.h +++ b/source/list/list.h @@ -208,10 +208,8 @@ list_node_t* list_insert_after( list_t* list, list_node_t* node, void* contents) * * @param list The list to operate on. * @param index The index of the node to delete. - * - * @return Pointer to the node that is now at the supplied index. **/ -list_node_t* list_delete(list_t* list, size_t index); +void list_delete(list_t* list, size_t index); /** * @brief Delete a node from the supplied list. diff --git a/tests/test_list.c b/tests/test_list.c index 8284bf1..1311e1d 100644 --- a/tests/test_list.c +++ b/tests/test_list.c @@ -640,7 +640,7 @@ TEST_SUITE(List) { TEST(Verify_delete_does_nothing_if_list_is_empty) { list_t* list = list_new(); - CHECK( NULL == list_delete( list, 0) ); + list_delete(list, 0); mem_release( list ); } @@ -649,7 +649,7 @@ TEST_SUITE(List) { list_t* list = list_new(); list_node_t* doomed = list_push_back(list, mem_box(0x1234)); mem_retain(doomed); - CHECK( NULL == list_delete( list, 0) ); + list_delete(list, 0); CHECK( list->head == NULL ); CHECK( list->tail == NULL ); CHECK( 1 == mem_num_references(doomed) ); @@ -665,7 +665,7 @@ TEST_SUITE(List) { list_node_t* doomed = list_push_back(list, mem_box(0x1234)); list_node_t* node1 = list_push_back(list, mem_box(0x1235)); mem_retain(doomed); - CHECK( node1 == list_delete( list, 0) ); + list_delete( list, 0); CHECK( list->head == node1 ); CHECK( list->tail == node1 ); CHECK( NULL == node1->next ); @@ -685,7 +685,7 @@ TEST_SUITE(List) { list_node_t* doomed = list_push_back(list, mem_box(0x1235)); list_node_t* node2 = list_push_back(list, mem_box(0x1236)); mem_retain(doomed); - CHECK( node2 == list_delete( list, 1) ); + list_delete( list, 1); CHECK( 2 == list_size( list ) ); CHECK( list->head == node1 ); CHECK( list->tail == node2 ); @@ -706,7 +706,7 @@ TEST_SUITE(List) { list_node_t* node1 = list_push_back(list,mem_box(0x1234)); list_node_t* doomed = list_push_back(list,mem_box(0x1235)); mem_retain(doomed); - CHECK( NULL == list_delete( list, 1) ); + list_delete( list, 1); CHECK( list->head == node1 ); CHECK( list->tail == node1 ); CHECK( NULL == node1->next );