summaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2022-12-04 20:12:57 +0100
committerAleksa Vuckovic <aleksav013@gmail.com>2022-12-04 20:12:57 +0100
commit57fc2b58f362a361188856ed73dbb7391df66938 (patch)
tree61d580e0bcb71e04754bc5d0f592339397ff20c3 /kernel/include
parenta36b01e05f09f642f261d42666af28a367fefc4e (diff)
kheap_free bug fixed
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/libk/list.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/include/libk/list.h b/kernel/include/libk/list.h
index 1cd9928..690f3d7 100644
--- a/kernel/include/libk/list.h
+++ b/kernel/include/libk/list.h
@@ -31,6 +31,9 @@ void free_node(list_t* head);
#define list_for_each_entry_prev(pos, head, member) \
for (pos = container_of(head->prev, typeof(*pos), member); pos != container_of(head, typeof(*pos), member); pos = container_of(pos->member.prev, typeof(*pos), member))
+#define list_for_each_entry_del(pos, head, member) \
+ for (pos = container_of(head->next, typeof(*pos), member); pos != container_of(head, typeof(*pos), member); free_node(&pos->list), pos = container_of(head->next, typeof(*pos), member))
+
#define list_is_empty(pos) \
(pos == pos->next)