aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-04 20:35:24 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-04 20:35:24 +0000
commit874e8f65a93fc56afe85ee13ea279b540e19e2ee (patch)
tree3cd049e8a2e0f2120a662e9592acb7ce3a19e7ae /include
parent0faabfe8fcda5dfa2dd696ca7a4c0f025f424a0c (diff)
Fixes for gcc 4.4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227824 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/unaligned.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/asterisk/unaligned.h b/include/asterisk/unaligned.h
index 9ca2177a1..4737c4ec9 100644
--- a/include/asterisk/unaligned.h
+++ b/include/asterisk/unaligned.h
@@ -50,9 +50,16 @@ static inline unsigned short get_unaligned_uint16(const void *p)
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)