]> git.mdlowis.com Git - projs/libcds.git/commitdiff
address mdl comments on PR
authora bellenir <a@bellenir.com>
Thu, 21 Aug 2014 17:25:51 +0000 (17:25 +0000)
committera bellenir <a@bellenir.com>
Thu, 21 Aug 2014 17:25:51 +0000 (17:25 +0000)
source/list/list.c
source/list/list.h
tests/test_list.c

index 7beba4c5a1e898367d71eeece97575175d77e39b..13dfa66ea22a750ad057d07d6dd6e7273b3b6e9c 100644 (file)
@@ -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;
index 87b9f61518b580f61c76b3c1dfe3c51b5681b2b7..a2f6c6ededeb0dac424012b5857dd4ea5463a19c 100644 (file)
@@ -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.
index 8284bf18a81bf4092b819124f6378d344b2f80f7..1311e1d6080e7a45eb013f35794bdac99ce67219 100644 (file)
@@ -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 );