contributed by < nyraa
>
list_insert_before
函數完整的實作填充完之後如下:
static inline void list_insert_before(list_t *l,
list_item_t *before,
list_item_t *item)
{
list_item_t **p;
for (p = &l->head; *p != before; p = &(*p)->next)
;
*p = item;
item->next = before;
}
是利用雙重指標相後迭代,直到找到指向 before
的指標,也就是 before
的上一個節點的 next
指標,然後將 item
插入。