diff --git a/include/list.h b/include/list.h index ff5c9fc..96a1156 100644 --- a/include/list.h +++ b/include/list.h @@ -36,10 +36,10 @@ * to each element in the list, in turn. */ #define for_each_list(it, head, parent_type, member) \ - for (it = container((head)->next, parent_type, member); it->member.next != (head); it = container(it->member.next, parent_type, member)) + for (it = container((head)->next, parent_type, member); &it->member != (head); it = container(it->member.next, parent_type, member)) #define for_each_list_noinit(it, head, parent_type, member) \ - for (; it->member.next != (head); it = container(it->member.next, parent_type, member)) + for (; &it->member != (head); it = container(it->member.next, parent_type, member)) struct dlist_node { struct dlist_node *next, *prev;