diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-11 16:29:29 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-11 16:29:29 +0000 |
commit | 3e1330a03aa149baba57107b5413aab845c1fe38 (patch) | |
tree | 40020697f794556aa645285a87154014091b0346 /include/asterisk | |
parent | 2020d2079737c991a378ee3e486099fee5363337 (diff) |
* In unaligned.h, remove some unnecessary casts and mark the arg of the
get_unaligned functions as const
* In event.c, use get_unaligned_uint32() in a couple of places to fix issues on
architectures that don't allow unaligned access
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92305 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/unaligned.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/include/asterisk/unaligned.h b/include/asterisk/unaligned.h index 16791d6f0..c502efede 100644 --- a/include/asterisk/unaligned.h +++ b/include/asterisk/unaligned.h @@ -29,43 +29,43 @@ extern "C" { #ifdef __GNUC__ /* If we just tell GCC what's going on, we can trust it to behave optimally */ -static inline unsigned int get_unaligned_uint32(void *p) +static inline unsigned int get_unaligned_uint32(const void *p) { - struct { unsigned int d; } __attribute__((packed)) *pp = (void *)p; + const struct { unsigned int d; } __attribute__((packed)) *pp = p; return pp->d; } -static inline unsigned short get_unaligned_uint16(void *p) +static inline unsigned short get_unaligned_uint16(const void *p) { - struct { unsigned short d; } __attribute__((packed)) *pp = (void *)p; + const struct { unsigned short d; } __attribute__((packed)) *pp = p; return pp->d; } static inline void put_unaligned_uint32(void *p, unsigned int datum) { - struct { unsigned int d; } __attribute__((packed)) *pp = (void *)p; + struct { unsigned int d; } __attribute__((packed)) *pp = p; pp->d = datum; } static inline void put_unaligned_uint16(void *p, unsigned short datum) { - struct { unsigned short d; } __attribute__((packed)) *pp = (void *)p; + struct { unsigned short d; } __attribute__((packed)) *pp = p; pp->d = datum; } #elif defined(SOLARIS) && defined(__sparc__) -static inline unsigned int get_unaligned_uint32(void *p) +static inline unsigned int get_unaligned_uint32(const void *p) { - unsigned char *cp = p; + const unsigned char *cp = p; return (cp[0] << 24) | (cp[1] << 16) | (cp[2] << 8) | cp[3]; } -static inline unsigned short get_unaligned_uint16(void *p) +static inline unsigned short get_unaligned_uint16(const void *p) { - unsigned char *cp = p; + const unsigned char *cp = p; return (cp[0] << 8) | cp[1] ; } |