diff --git a/src/m_swap.h b/src/m_swap.h index 4318ce7be9ee1321ada7a0517f0e5c3beccdd4a0..3b50dc623737435bda8bd04eac6b50511e9cb626 100644 --- a/src/m_swap.h +++ b/src/m_swap.h @@ -42,8 +42,8 @@ // Big to little endian #ifdef SRB2_LITTLE_ENDIAN - #define BIGENDIAN_LONG(x) ((INT32)((x>>24)&0xff)|((x<<8)&0xff0000)|((x>>8)&0xff00)|((x<<24)&0xff000000)) - #define BIGENDIAN_SHORT(x) ((INT16)((x>>8)|(x<<8))) + #define BIGENDIAN_LONG(x) ((INT32)(((x)>>24)&0xff)|(((x)<<8)&0xff0000)|(((x)>>8)&0xff00)|(((x)<<24)&0xff000000)) + #define BIGENDIAN_SHORT(x) ((INT16)(((x)>>8)|((x)<<8))) #else #define BIGENDIAN_LONG(x) ((INT32)(x)) #define BIGENDIAN_SHORT(x) ((INT16)(x))