Fixed bug 944 SDL-1.2
authorSam Lantinga <slouken@libsdl.org>
Tue, 13 Apr 2010 21:46:10 -0700
branchSDL-1.2
changeset 4431d660ca4f7b1f
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
     1.1 --- a/include/SDL_endian.h	Tue Apr 13 21:24:55 2010 -0700
     1.2 +++ b/include/SDL_endian.h	Tue Apr 13 21:46:10 2010 -0700
     1.3 @@ -94,7 +94,7 @@
     1.4  }
     1.5  #else
     1.6  static __inline__ Uint16 SDL_Swap16(Uint16 x) {
     1.7 -	return((x<<8)|(x>>8));
     1.8 +	return (Uint16)((x<<8)|(x>>8));
     1.9  }
    1.10  #endif
    1.11  
    1.12 @@ -129,7 +129,7 @@
    1.13  }
    1.14  #else
    1.15  static __inline__ Uint32 SDL_Swap32(Uint32 x) {
    1.16 -	return((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24));
    1.17 +	return (Uint32)((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24));
    1.18  }
    1.19  #endif
    1.20  
    1.21 @@ -166,7 +166,7 @@
    1.22  	x = SDL_Swap32(lo);
    1.23  	x <<= 32;
    1.24  	x |= SDL_Swap32(hi);
    1.25 -	return(x);
    1.26 +	return (x);
    1.27  }
    1.28  #endif
    1.29  #else