ref: 58fdd042a19e6db2739755a03293f669cb4f2df9
parent: dad445bb3ee8ca8d55e5c77d621f1a925ccbe9fb
author: Simon Howard <fraggle@gmail.com>
date: Fri Aug 31 04:59:34 EDT 2007
Make SHORT and LONG macros return signed values; this is the behaviour of the versions in the original source and some code depends on it. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 962
--- a/src/i_swap.h
+++ b/src/i_swap.h
@@ -35,8 +35,11 @@
// Just use SDL's endianness swapping functions.
-#define SHORT(x) SDL_SwapLE16(x)
-#define LONG(x) SDL_SwapLE32(x)
+// These are deliberately cast to signed values; this is the behaviour
+// of the macros in the original source and some code relies on it.
+
+#define SHORT(x) ((signed short) SDL_SwapLE16(x))
+#define LONG(x) ((signed long) SDL_SwapLE32(x))
// Defines for checking the endianness of the system.