static void test_raw_40(uint64_t value, const uint8_t expected[8]) { union { raw_40 raw; uint8_t bytes[8]; } data; memset(&data, 0, sizeof(data)); data.raw = encode_raw40(value); assert(memcmp(data.bytes, expected, 8) == 0); assert(decode_raw40(data.raw) == value); }
static void enc_raw40(uint64_t u, char **buf) { raw_40 r = encode_raw40(u); memcpy(*buf, &r, 5); *buf += 5; }