diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2017-01-16 00:10:38 +0100 |
---|---|---|
committer | Gerrit Rockbox <gerrit@rockbox.org> | 2017-02-04 17:24:47 +0100 |
commit | d7871914acd2ed77f43344e36e08944524a67d9e (patch) | |
tree | 7bcef243d9b53c3703c305b8a5f9f8a8488eabfb /firmware/asm | |
parent | 1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (diff) | |
download | rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.gz rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.zip |
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
Diffstat (limited to 'firmware/asm')
-rw-r--r-- | firmware/asm/memset16.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 @@ | |||
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | 21 | ||
22 | #include "string-extra.h" /* memset16() */ | 22 | #include "string-extra.h" /* memset16() */ |
23 | #include <stdint.h> | ||
23 | 24 | ||
24 | #define LBLOCKSIZE (sizeof(long)/2) | 25 | #define LBLOCKSIZE (sizeof(long)/2) |
25 | #define ROCKBOX_UNALIGNED(X) ((long)X & (sizeof(long) - 1)) | 26 | #define ROCKBOX_UNALIGNED(X) ((uintptr_t)X & (sizeof(long) - 1)) |
26 | #define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) | 27 | #define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) |
27 | 28 | ||
28 | void memset16(void *dst, int val, size_t len) | 29 | void memset16(void *dst, int val, size_t len) |