Commit 2f71858a authored by Sam Lantinga's avatar Sam Lantinga

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.
parent 1fb2a694
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment