diff --git a/src/bele.h b/src/bele.h index bb8ad32c..4c7f7aaf 100644 --- a/src/bele.h +++ b/src/bele.h @@ -171,8 +171,8 @@ inline void set_le24(void *p, unsigned v) noexcept { } inline unsigned get_le26(const void *p) noexcept { return get_le32(p) & 0x03ffffff; } -inline unsigned get_le19_5(const void *p) { return 0x7ffff & (get_le32(p) >> 5); } -inline unsigned get_le14_5(const void *p) { return 0x03fff & (get_le32(p) >> 5); } +inline unsigned get_le19_5(const void *p) noexcept { return 0x7ffff & (get_le32(p) >> 5); } +inline unsigned get_le14_5(const void *p) noexcept { return 0x03fff & (get_le32(p) >> 5); } inline void set_le26(void *p, unsigned v) noexcept { // preserve the top 6 bits @@ -181,10 +181,10 @@ inline void set_le26(void *p, unsigned v) noexcept { set_ne32(p, (get_ne32(p) & ne32_to_le32(0xfc000000)) | (ne32_to_le32(v) & ne32_to_le32(0x03ffffff))); } -inline void set_le19_5(void *p, unsigned v) { +inline void set_le19_5(void *p, unsigned v) noexcept { set_le32(p, (get_le32(p) & 0xff00001f) | ((v & 0x07ffff) << 5)); } -inline void set_le14_5(void *p, unsigned v) { +inline void set_le14_5(void *p, unsigned v) noexcept { set_le32(p, (get_le32(p) & 0xfff8001f) | ((v & 0x003fff) << 5)); } diff --git a/src/packer.h b/src/packer.h index 33d51787..0102df0c 100644 --- a/src/packer.h +++ b/src/packer.h @@ -278,7 +278,7 @@ protected: unsigned image_size, int bits, bool bswap); // Target Endianness abstraction -#if 0 +#if 1 // try to detect TE16 vs TE32 vs TE64 size mismatches; note that "byte" is explicitly allowed template static inline constexpr bool is_te16_type = is_same_any_v;