Messages in this thread | | | From | Schrober <> | Subject | container-of Implementation | Date | Mon, 14 Jan 2013 11:46:05 +0100 |
| |
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
| |