changeset 5544:72a87cf63833 draft

(svn r7887) -Fix: [OSX] Endian32_Swap should always return a uint32, not a long unsigned int This kills an OSX specific warning in newgrf_config.c Ensured that Endian16_Swap returns uint16 as well, even though that one didn't result in any warnings (yet)
author bjarni <bjarni@openttd.org>
date Fri, 05 Jan 2007 20:46:53 +0000
parents 202699038e75
children 47b8add9bd67
files src/stdafx.h
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/stdafx.h
+++ b/src/stdafx.h
@@ -56,9 +56,10 @@
 
 #ifdef __APPLE__
 # include "os/macosx/osx_stdafx.h"
-// make endian swapping use Apple's macros to increase speed
-# define BSWAP32(x) Endian32_Swap(x)
-# define BSWAP16(x) Endian16_Swap(x)
+/* make endian swapping use Apple's macros to increase speed (since it will use hardware swapping if available)
+ * Even though they should return uint16 and uint32, we get warnings if we don't cast those (why?) */
+# define BSWAP32(x) ((uint32)Endian32_Swap(x))
+# define BSWAP16(x) ((uint16)Endian16_Swap(x))
 #else
 # define BSWAP32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) << 8) & 0xFF0000) | (((x) << 24) & 0xFF000000))
 # define BSWAP16(x) ((x) >> 8 | (x) << 8)