Re: kernel list / container_of aka list_entry question

From: Fawad Lateef
Date: Sun Dec 25 2005 - 14:11:39 EST


On 12/25/05, Mateusz Berezecki <mateuszb@xxxxxxxxx> wrote:
> On 12/25/05, Michael Buesch <mbuesch@xxxxxxxxxx> wrote:
>
> > > > list_for_each(iterator, &priv->rxbuf.list) {
> > > > struct ath_buf *bf = list_entry(iterator, (struct ath_buf), list);
> > ^ ^
> > Remove the parenthesis.
>
> yikes. that helped. but it's somewhat weird IMHO... why ((struct foo)
> *) wont work?
> and it needs to be (struct foo *) ?
>

What I can say is that compiler will consider the construct like
(struct foo *) as this (struct foo)* will be making compiler confused
that (struct foo) is type-casting and the * might be for deferencing
the pointer but as * is also in a bracket and wont follow any pointer
thats why compiler is giving error. (CMIIW)

--
Fawad Lateef
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/