static inline void put_unaligned_uint64(void *p, uint64_t datum)
{
- struct { uint64_t d; } __attribute__((packed)) *pp = p;
+ unsigned char *cp = p;
- pp->d = datum;
+ cp[0] = (datum >> 56) & 0xff;
+ cp[1] = (datum >> 48) & 0xff;
+ cp[2] = (datum >> 40) & 0xff;
+ cp[3] = (datum >> 32) & 0xff;
+ cp[4] = (datum >> 24) & 0xff;
+ cp[5] = (datum >> 16) & 0xff;
+ cp[6] = (datum >> 8) & 0xff;
+ cp[7] = (datum >> 0) & 0xff;
}
static inline void put_unaligned_uint32(void *p, unsigned int datum)