In either case, update sizeof(C) and dsize(C) to include the last byte containing (part of) the bitfield. Presumably, the reference to sizeof(C) should really say something like: Update sizeof(C) to max(sizeof(C), dsize(C)) Right? -- Mark Mitchell mark at codesourcery.com CodeSourcery, LLC http://www.codesourcery.com