shithub: choc

Download patch

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.