From 2f71858a7e0cdbfa05e0993314677716914696be Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 13 Apr 2010 22:01:14 -0700 Subject: [PATCH] Fixed bug 944 Tatu Kilappa 2010-02-11 12:13:20 PST When compiling with -Wconversion, gcc complains about a cast in SDL_endian.h that might change the result as we are casting from an int into an Uint16. This is of course not visible unless we are on a non-x86 platform where the assembler is not available. While it's not really an error, the warning is really annoying. To fix, change SDL_endian.h line 87 to: return(Uint16)((x<<8)|(x>>8)); Thank you. --- include/SDL_endian.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/SDL_endian.h b/include/SDL_endian.h index 726ef1dbd..c8f13e929 100644 --- a/include/SDL_endian.h +++ b/include/SDL_endian.h @@ -103,7 +103,7 @@ SDL_Swap16(Uint16 x) static __inline__ Uint16 SDL_Swap16(Uint16 x) { - return ((x << 8) | (x >> 8)); + return (Uint16)((x << 8) | (x >> 8)); } #endif @@ -143,8 +143,8 @@ SDL_Swap32(Uint32 x) static __inline__ Uint32 SDL_Swap32(Uint32 x) { - return ((x << 24) | ((x << 8) & 0x00FF0000) | ((x >> 8) & 0x0000FF00) | - (x >> 24)); + return (Uint32)((x << 24) | ((x << 8) & 0x00FF0000) | + ((x >> 8) & 0x0000FF00) | (x >> 24)); } #endif