[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
On Sun, Jan 06, 2008 at 11:22:56PM +0000, Steven M. Bellovin wrote:
> On Sun, 6 Jan 2008 23:56:49 +0100
> Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> > On Sun, Jan 06, 2008 at 02:36:32PM -0800, John Nemeth wrote:
> > > } A "gratuitous padding" here would break anyway, as this structure
> > > is } filled in by hardware (it's what's returned by a device to an
> > > INQUIRY } command).
> > >
> > > The hardware returns a sequence of bytes not a struct.
> > Yes of course. And if padding is introduced in this structure, the
> > fields will point to the wrong place in the sequence of bytes.
> Yes. To quote Henry Spencer, "If you lie to the compiler, it will get
> its revenge." (see
> More seriously -- is there any reason not to create a union, and point
> the hardware at the contiguous string?
I'm not sure it'd change anything. If the compiler wants to add padding,
it would add it in the union too. What makes a difference here is that the
structure is declared __attribute__((__packed__))
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
Main Index |
Thread Index |