Fixed bug 944 SDL-1.2
authorSam Lantinga <slouken@libsdl.org>
Tue, 13 Apr 2010 21:46:10 -0700
branchSDL-1.2
changeset 4431 d660ca4f7b1f
parent 4430 c40dae9695b1
child 4438 7a53f8efc017
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
--- 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