From: Minep Date: Sat, 20 Apr 2024 10:19:15 +0000 (+0100) Subject: properly update the pprev of next node when deleting hlist_node (close #30) X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/commitdiff_plain/5aac681ee637d268960316d121129f95591339da?hp=9209afa5f69cffa48a04c4a9066357d5cba75926 properly update the pprev of next node when deleting hlist_node (close #30) --- diff --git a/lunaix-os/includes/lunaix/ds/llist.h b/lunaix-os/includes/lunaix/ds/llist.h index 1eec54b..88e2523 100644 --- a/lunaix-os/includes/lunaix/ds/llist.h +++ b/lunaix-os/includes/lunaix/ds/llist.h @@ -125,7 +125,13 @@ hlist_delete(struct hlist_node* node) { if (!node->pprev) return; + + if (node->next) { + node->next->pprev = node->pprev; + } + *node->pprev = node->next; + node->next = 0; node->pprev = 0; }