David Young wrote: > Yuck. The offsetof() way was much more readable. Yes, it's more readable but it's not standard C99. And it's confusing to use offsetof when you want to use sizeof.
> Please put it back the old way. > If you have to, provide and use a runtime_offsetof() that > DTRT. DTRT TWW ;-) What about something like this (untested)? /* * Return a size of a structure s with flexible-array member m * with n elements. */ #define sizeof_fam(s, m, n) (sizeof(s) + sizeof(((s *)NULL)->m[0]) * (n)) and use like this: sizeof_fam(struct pcq, pcq_items, nitems); Alex