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 --- firmware/asm/memset16.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'firmware/asm') diff --git a/firmware/asm/memset16.c b/firmware/asm/memset16.c index db71d86fcc..12f3388a8d 100644 --- a/firmware/asm/memset16.c +++ b/firmware/asm/memset16.c @@ -20,9 +20,10 @@ ****************************************************************************/ #include "string-extra.h" /* memset16() */ +#include #define LBLOCKSIZE (sizeof(long)/2) -#define ROCKBOX_UNALIGNED(X) ((long)X & (sizeof(long) - 1)) +#define ROCKBOX_UNALIGNED(X) ((uintptr_t)X & (sizeof(long) - 1)) #define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) void memset16(void *dst, int val, size_t len) -- cgit v1.2.3