Because the field "pprev" holds the address of the "next" field in the
previous node.
And *pprev = next; just like the prev->next = next; connect the two nodes
in forward direction.
Hope it's helpful for you.




On Thu, Apr 8, 2010 at 1:58 PM, Onkar Mahajan <kern.de...@gmail.com> wrote:

> I am not able to understand how the marked like skips the node n :
>
> static inline void __hlist_del(struct hlist_node *n)
> {
>     struct hlist_node *next = n->next;
>     struct hlist_node **pprev = n->pprev;
>     *pprev = next; <---------------------------------------------------
> ????
>     if (next)
>         next->pprev = pprev;
> }
>
> in this case
>
> static inline void __list_del(struct list_head * prev, struct list_head *
> next)
> {
>     next->prev = prev;
>     prev->next = next;
> }
>
> It is clear ...
>
>
> Please help.
>
> Regards,
> Onkar
>
>


-- 
Yours sincerely
ZhangMeng

Reply via email to