On Mon, Dec 06, 2021 at 11:21:27PM +0100, Alexander Burger wrote:
> No, it is correct. It stores (all little-endian):
> 
>    (1 . 8) 1 0 0 0 0 0 0 0  # 8 bytes
>    (2 . 2) 2 0              # 2 bytes
>    (3 . 4) 3 0 0 0          # 4 bytes

The point is: 'struct' does exactly what you tell it to do. Not more, not less.
Eight bytes, then two bytes, then four bytes.

It does not care (and should not care) that *you* know that the "short" should
be in a wider field. This is another, higher level. Here we are purely concerned
about the explicat layout.

You can easily pass

   : (struct Ptr '( P W I ) '(1 . 8) '(2 . 4) '(3 . 4))

to get what you want.

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to