Hi,

I wondered why the container_of implementation is so complicated.

#define container_of(ptr, type, member) ({                      \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
        (type *)( (char *)__mptr - offsetof(type,member) );})

isn't the __mptr not unnecessary? Why not following version?

#define container_of(ptr, type, member) \
    ((type *)((char *)(ptr) - offsetof(type, member)))
-- 
Franz Schrober
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to