summaryrefslogtreecommitdiff
path: root/include/SDL_endian.h
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2010-04-13 22:01:14 -0700
committerSam Lantinga <slouken@libsdl.org>2010-04-13 22:01:14 -0700
commit859324121ea0906dae454c183a68d6fb374ea9f5 (patch)
treee9e0c9bdfafe394a7c1242f4331399d5166830fe /include/SDL_endian.h
parentabfc395d113e327669fd2b6062a8d30dc7bb9b6b (diff)
downloadsdl-859324121ea0906dae454c183a68d6fb374ea9f5.tar.gz
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.
Diffstat (limited to 'include/SDL_endian.h')
-rw-r--r--include/SDL_endian.h6
1 files 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