On Friday 12 September 2008 20:52:52 Larry Finger wrote: > Michael Buesch wrote: > > On Friday 12 September 2008 20:16:03 Larry Finger wrote: > >> struct bootrec { > >> __le32 code; > >> __le32 len; > >> - u32 data[0]; > >> + /* Most references to the data section that follows are for u32 > >> + * quantities; however, one is for an le16 quantity. The union > >> + * below avoids a cast and makes the usage clearer. */ > >> + union { > >> + u32 data[0]; > >> + __le16 data16[0]; > >> + }; > >> } __attribute__((packed)); > > > > I suggest you change > > u32 data[0]; > > to > > __le32 data_le32[0]; > > and also add > > __be32 data_be32[0]; > > to the union. This avoids another few casts. > > (Maybe you don't even need the __le32 variant. I didn't check all the code). > > No, it won't avoid any casts. The program uses the data area 7 times > in native-cpu order, once as be32, and once in little-endian order Is the native use correct? Smells fishy. -- Greetings Michael. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html