endian: fix LE/BE order for 24 bit accessor functions

This commit is contained in:
Lennart Poettering 2009-05-01 04:13:15 +02:00
parent 947bf5de6c
commit 076830af19

View file

@ -45,27 +45,27 @@
#define PA_UINT32_SWAP(x) ( (uint32_t) ( ((uint32_t) (x) >> 24) | ((uint32_t) (x) << 24) | (((uint32_t) (x) & 0xFF00) << 8) | ((((uint32_t) (x)) >> 8) & 0xFF00) ) ) #define PA_UINT32_SWAP(x) ( (uint32_t) ( ((uint32_t) (x) >> 24) | ((uint32_t) (x) << 24) | (((uint32_t) (x) & 0xFF00) << 8) | ((((uint32_t) (x)) >> 8) & 0xFF00) ) )
#endif #endif
static inline uint32_t PA_READ24LE(const uint8_t *p) { static inline uint32_t PA_READ24BE(const uint8_t *p) {
return return
((uint32_t) p[0] << 16) | ((uint32_t) p[0] << 16) |
((uint32_t) p[1] << 8) | ((uint32_t) p[1] << 8) |
((uint32_t) p[2]); ((uint32_t) p[2]);
} }
static inline uint32_t PA_READ24BE(const uint8_t *p) { static inline uint32_t PA_READ24LE(const uint8_t *p) {
return return
((uint32_t) p[2] << 16) | ((uint32_t) p[2] << 16) |
((uint32_t) p[1] << 8) | ((uint32_t) p[1] << 8) |
((uint32_t) p[0]); ((uint32_t) p[0]);
} }
static inline void PA_WRITE24LE(uint8_t *p, uint32_t u) { static inline void PA_WRITE24BE(uint8_t *p, uint32_t u) {
p[0] = (uint8_t) (u >> 16); p[0] = (uint8_t) (u >> 16);
p[1] = (uint8_t) (u >> 8); p[1] = (uint8_t) (u >> 8);
p[2] = (uint8_t) u; p[2] = (uint8_t) u;
} }
static inline void PA_WRITE24BE(uint8_t *p, uint32_t u) { static inline void PA_WRITE24LE(uint8_t *p, uint32_t u) {
p[2] = (uint8_t) (u >> 16); p[2] = (uint8_t) (u >> 16);
p[1] = (uint8_t) (u >> 8); p[1] = (uint8_t) (u >> 8);
p[0] = (uint8_t) u; p[0] = (uint8_t) u;