From 0fe44d49b58aeac9f369b20ff94cbafc079d5012 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 23 Oct 2006 14:53:53 +0000 Subject: [PATCH] - lvalue fixes (needed for gcc 4) Changed files: doomlegacy-c.patch -> 1.1 --- doomlegacy-c.patch | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 doomlegacy-c.patch diff --git a/doomlegacy-c.patch b/doomlegacy-c.patch new file mode 100644 index 0000000..f7184bf --- /dev/null +++ b/doomlegacy-c.patch @@ -0,0 +1,53 @@ +--- doomlegacy-1.42/doomlegacy_142_src/byteptr.h.orig 2004-04-18 23:02:24.000000000 +0200 ++++ doomlegacy-1.42/doomlegacy_142_src/byteptr.h 2006-10-23 15:52:23.770159250 +0200 +@@ -36,30 +36,30 @@ + // + // Little-endian machines + // +-#define writeshort(p,b) *(short*) (p) = b +-#define writelong(p,b) *(long *) (p) = b +-#define WRITEBYTE(p,b) *((byte *)p)++ = b +-#define WRITECHAR(p,b) *((char *)p)++ = b +-#define WRITESHORT(p,b) *((short *)p)++ = b +-#define WRITEUSHORT(p,b) *((USHORT *)p)++ = b +-#define WRITELONG(p,b) *((long *)p)++ = b +-#define WRITEULONG(p,b) *((ULONG *)p)++ = b +-#define WRITEFIXED(p,b) *((fixed_t*)p)++ = b +-#define WRITEANGLE(p,b) *((angle_t*)p)++ = b ++#define writeshort(p,b) ({ short tmp = b; memcpy(p, &tmp, sizeof(short)); tmp; }) ++#define writelong(p,b) ({ long tmp = b; memcpy(p, &tmp, sizeof(long)); tmp; }) ++#define WRITEBYTE(p,b) ({ byte tmp = b; memcpy(p, &tmp, sizeof(byte)); p+=sizeof(byte); tmp; }) ++#define WRITECHAR(p,b) ({ char tmp = b; memcpy(p, &tmp, sizeof(char)); p+=sizeof(char); tmp; }) ++#define WRITESHORT(p,b) ({ short tmp = b; memcpy(p, &tmp, sizeof(short)); p+=sizeof(short); tmp; }) ++#define WRITEUSHORT(p,b) ({ USHORT tmp = b; memcpy(p, &tmp, sizeof(USHORT)); p+=sizeof(USHORT); tmp; }) ++#define WRITELONG(p,b) ({ long tmp = b; memcpy(p, &tmp, sizeof(long)); p+=sizeof(long); tmp; }) ++#define WRITEULONG(p,b) ({ ULONG tmp = b; memcpy(p, &tmp, sizeof(ULONG)); p+=sizeof(ULONG); tmp; }) ++#define WRITEFIXED(p,b) ({ fixed_t tmp = b; memcpy(p, &tmp, sizeof(fixed_t)); p+=sizeof(fixed_t); tmp; }) ++#define WRITEANGLE(p,b) ({ angle_t tmp = b; memcpy(p, &tmp, sizeof(angle_t)); p+=sizeof(angle_t); tmp; }) + #define WRITESTRING(p,b) { int tmp_i=0; do { WRITECHAR(p,b[tmp_i]); } while(b[tmp_i++]); } + #define WRITESTRINGN(p,b,n) { int tmp_i=0; do { WRITECHAR(p,b[tmp_i]); if(!b[tmp_i]) break;tmp_i++; } while(tmp_i