Skip to content

nav_types: make btni_t not packed

Steve Lhomme requested to merge robUx4/libdvdread:btni_t-unpacked into master

The use of bitfields of 10 bits makes the use of unsigned char impossible. That means the compiler might use more bits than expected for the 4*12 bits. This is the case with MS-compatible compilers. We cannot guarantee that the btin_t will use the same 10 octets as used in the binary blob.

In the end btin_t is not read as a packed structure but bit by bit in navRead_PCI().

This is breaking the ABI. So while we're at it we remove the packing (and trailing zeros) of structures that are not read as packed structures. They were not read as packed structures when libdvdread was split from libdvdnav but the packed attribute was kept.

Edited by Steve Lhomme

Merge request reports