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 /apps/plugins/lib/strncpy.c | |
| parent | 1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (diff) | |
| download | rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.zip rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.gz rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.bz2 rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.xz | |
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 'apps/plugins/lib/strncpy.c')
| -rw-r--r-- | apps/plugins/lib/strncpy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/plugins/lib/strncpy.c b/apps/plugins/lib/strncpy.c index 1b552ee..9ad3594 100644 --- a/apps/plugins/lib/strncpy.c +++ b/apps/plugins/lib/strncpy.c @@ -41,13 +41,14 @@ QUICKREF #include <limits.h> #include "plugin.h" #include "_ansi.h" +#include <stdint.h> /*SUPPRESS 560*/ /*SUPPRESS 530*/ /* Nonzero if either X or Y is not aligned on a "long" boundary. */ #define ROCKBOX_UNALIGNED(X, Y) \ - (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) + (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) #if LONG_MAX == 2147483647L #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) |