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