# HG changeset patch # User Sam Lantinga # Date 1271220370 25200 # Node ID d660ca4f7b1fa662a34bf834a2c2a4b67b4440c5 # Parent c40dae9695b1dfff5abadbdb221a7b9b75dd0107 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. diff -r c40dae9695b1 -r d660ca4f7b1f include/SDL_endian.h --- a/include/SDL_endian.h Tue Apr 13 21:24:55 2010 -0700 +++ b/include/SDL_endian.h Tue Apr 13 21:46:10 2010 -0700 @@ -94,7 +94,7 @@ } #else static __inline__ Uint16 SDL_Swap16(Uint16 x) { - return((x<<8)|(x>>8)); + return (Uint16)((x<<8)|(x>>8)); } #endif @@ -129,7 +129,7 @@ } #else 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 @@ -166,7 +166,7 @@ x = SDL_Swap32(lo); x <<= 32; x |= SDL_Swap32(hi); - return(x); + return (x); } #endif #else