changeset 4432:77ebcd41b577

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.
author Sam Lantinga <slouken@libsdl.org>
date Tue, 13 Apr 2010 22:01:14 -0700
parents faa9fc8e7f67
children 9fa97c6b0014
files include/SDL_endian.h
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/include/SDL_endian.h	Thu Mar 25 01:08:26 2010 -0700
+++ b/include/SDL_endian.h	Tue Apr 13 22:01:14 2010 -0700
@@ -103,7 +103,7 @@
 static __inline__ Uint16
 SDL_Swap16(Uint16 x)
 {
-    return ((x << 8) | (x >> 8));
+    return (Uint16)((x << 8) | (x >> 8));
 }
 #endif
 
@@ -143,8 +143,8 @@
 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