-static inline void unaligned_write_be32(be32_t *u, uint32_t a) {
- unaligned_write_be16((be16_t*) u, (uint16_t) (a >> 16));
- unaligned_write_be16((be16_t*) u + 1, (uint16_t) a);
+static inline void unaligned_write_be32(void *_u, uint32_t a) {
+ uint8_t *u = _u;
+
+ unaligned_write_be16(u, (uint16_t) (a >> 16));
+ unaligned_write_be16(u + 2, (uint16_t) a);