Add helper to avoid possible unaligned memory access when handling
uint64 value using big-endian representation.
---
src/shared/util.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/shared/util.h b/src/shared/util.h
index 251ea2a..9e4d0c0 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -126,6 +126,11 @@ static inline uint64_t get_le64(const void *ptr)
return le64_to_cpu(get_unaligned((const uint64_t *) ptr));
}
+static inline uint64_t get_be64(const void *ptr)
+{
+ return be64_to_cpu(get_unaligned((const uint64_t *) ptr));
+}
+
static inline void put_le16(uint16_t val, void *dst)
{
put_unaligned(cpu_to_le16(val), (uint16_t *) dst);--
1.8.3.1