136 *begin = new_node; |
136 *begin = new_node; |
137 } |
137 } |
138 } |
138 } |
139 |
139 |
140 void cx_linked_list_remove(void **begin, void **end, ptrdiff_t loc_prev, ptrdiff_t loc_next, void *node) { |
140 void cx_linked_list_remove(void **begin, void **end, ptrdiff_t loc_prev, ptrdiff_t loc_next, void *node) { |
|
141 assert(node != NULL); |
141 assert(loc_next >= 0); |
142 assert(loc_next >= 0); |
142 assert(loc_prev >= 0 || begin != NULL); |
143 assert(loc_prev >= 0 || begin != NULL); |
143 |
144 |
144 // find adjacent nodes |
145 // find adjacent nodes |
145 void *next = CX_LL_PTR(node, loc_next); |
146 void *next = CX_LL_PTR(node, loc_next); |