Just wondering if this is an over sight in the 16.6 spec. The length of records changes back and forth between Unsigned Int and Int.
Is this a documentation error?
The data types probably all should be unsigned int as a negative length is not possible. The size in bytes between an unsigned vs a signed int is identical however, so this will not cause any issues unless the lengths are very large.