1.1 --- a/src/linked_list.c Mon Dec 20 11:26:39 2021 +0100 1.2 +++ b/src/linked_list.c Mon Dec 20 11:58:36 2021 +0100 1.3 @@ -52,9 +52,8 @@ 1.4 } 1.5 1.6 void *cx_linked_list_last(void *node, ptrdiff_t loc_next) { 1.7 + assert(node != NULL); 1.8 assert(loc_next >= 0); 1.9 - if (node == NULL) 1.10 - return NULL; 1.11 1.12 void *cur = node; 1.13 void *last; 1.14 @@ -67,6 +66,7 @@ 1.15 1.16 void *cx_linked_list_prev(void *begin, ptrdiff_t loc_next, void *node) { 1.17 assert(begin != NULL); 1.18 + assert(node != NULL); 1.19 assert(loc_next >= 0); 1.20 if (begin == node) return NULL; 1.21 void *cur = begin; 1.22 @@ -79,12 +79,13 @@ 1.23 } 1.24 1.25 void cx_linked_list_add(void **begin, void **end, ptrdiff_t loc_prev, ptrdiff_t loc_next, void *new_node) { 1.26 + assert(new_node != NULL); 1.27 assert(loc_next >= 0); 1.28 assert(CX_LL_PTR(new_node, loc_next) == NULL); 1.29 void *last; 1.30 if (end == NULL) { 1.31 assert(begin != NULL); 1.32 - last = cx_linked_list_last(*begin, loc_next); 1.33 + last = *begin == NULL ? NULL : cx_linked_list_last(*begin, loc_next); 1.34 } else { 1.35 last = *end; 1.36 } 1.37 @@ -110,13 +111,14 @@ 1.38 } 1.39 1.40 void cx_linked_list_prepend(void **begin, void **end, ptrdiff_t loc_prev, ptrdiff_t loc_next, void *new_node) { 1.41 + assert(new_node != NULL); 1.42 assert(loc_next >= 0); 1.43 assert(CX_LL_PTR(new_node, loc_next) == NULL); 1.44 void *first; 1.45 if (begin == NULL) { 1.46 assert(end != NULL); 1.47 assert(loc_prev >= 0); 1.48 - first = cx_linked_list_first(*end, loc_prev); 1.49 + first = *end == NULL ? NULL : cx_linked_list_first(*end, loc_prev); 1.50 } else { 1.51 first = *begin; 1.52 }