On 02/07/13 16:22, Stefan Hajnoczi wrote: > On Thu, Feb 7, 2013 at 3:43 PM, Laszlo Ersek <ler...@redhat.com> wrote: >> Instead, what about >> >> #define endof(container, field) \ >> (offsetof(container, field) + sizeof ((container *)0)->field) > > As mentioned in my reply, I think endof() isn't necessary. > > Just use offsetof() the *next* field or sizeof() the entire struct > (for the last field). That way you let someone else do the dirty > pointer tricks.
Apologies; I approached endof() in isolation. Laszlo