]> sigrok.org Git - libsigrok.git/commit
libsigrok-internal.h: add length checking endianess helpers
authorGerhard Sittig <redacted>
Sun, 19 Mar 2023 17:09:30 +0000 (18:09 +0100)
committerGerhard Sittig <redacted>
Sun, 19 Mar 2023 21:40:07 +0000 (22:40 +0100)
commite721b1bfdeceea14fea8470dea9cce5d676e8869
treeb8fbc580b12286f7a223fab03863e36585e6d71a
parenta1d7443ba4130ffedfe657b59a77c00bc616662a
libsigrok-internal.h: add length checking endianess helpers

Introduce the read_u8_inc_len() and read_u16le_inc_len() routines which
read the respective numbers from binary input, advance the current read
position, and also track the remaining length of input data. Call sites
need not duplicate the data field width they advanced over.

The input stream is considered exhausted when there is insufficient data
to read another field. All subsequent reads will also terminate. Calling
applications need to check before reading when they expect specific sets
of adjacent fields to be available. It is assumed that most call sites
already do this (once for the whole input stream, not individually for
each conversion call of a field).
src/libsigrok-internal.h