From d7871914acd2ed77f43344e36e08944524a67d9e Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Mon, 16 Jan 2017 00:10:38 +0100 Subject: Fix dangerous casts On Windows 64-bit, the size of long is 32-bit, thus any pointer to long cast is not valid. In any case, one should use intptr_t and ptrdiff_t when casting to integers. This commit attempts to fix all instances reported by GCC. When relevant, I replaced code by the macros PTR_ADD, ALIGN_UP from system.h Change-Id: I2273b0e8465d3c4689824717ed5afa5ed238a2dc --- apps/plugins/zxbox/snapshot.c | 2 +- apps/plugins/zxbox/tapefile.c | 2 +- apps/plugins/zxbox/z80.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'apps/plugins/zxbox') diff --git a/apps/plugins/zxbox/snapshot.c b/apps/plugins/zxbox/snapshot.c index 468f46667e..74845bac8e 100644 --- a/apps/plugins/zxbox/snapshot.c +++ b/apps/plugins/zxbox/snapshot.c @@ -362,7 +362,7 @@ static void read_compressed_data(SNFILE *fp, byte *start, unsigned size, GET_DATA(ch); if(p + times > end) { put_msg("Warning: Repeat parameter too large in snapshot"); - times = (int) ((long) end - (long) p); + times = (int) ((intptr_t) end - (intptr_t) p); } for(j = 0; j < times; j++) *p++ = ch; } diff --git a/apps/plugins/zxbox/tapefile.c b/apps/plugins/zxbox/tapefile.c index b030f8dab9..054cae1aba 100644 --- a/apps/plugins/zxbox/tapefile.c +++ b/apps/plugins/zxbox/tapefile.c @@ -216,7 +216,7 @@ static struct tzxblock tzxb[NUMBLOCKID] = { }; -#define PTRDIFF(pe, ps) ((int) (((long) (pe) - (long) (ps)) / sizeof(*pe))) +#define PTRDIFF(pe, ps) pe - ps static char tzxheader[] = {'Z','X','T','a','p','e','!',0x1A}; diff --git a/apps/plugins/zxbox/z80.c b/apps/plugins/zxbox/z80.c index f6f1de7468..683584f471 100644 --- a/apps/plugins/zxbox/z80.c +++ b/apps/plugins/zxbox/z80.c @@ -48,7 +48,7 @@ static byte *a64kmalloc(int num64ksegs) /*exit(1);*/ } - return (byte *) (( (long) bigmem & ~((long) 0xFFFF)) + 0x10000); + return (byte *) (( (intptr_t) bigmem & ~((intptr_t) 0xFFFF)) + 0x10000); } -- cgit v1.2.3