summaryrefslogtreecommitdiff
path: root/apps/plugins/lib
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2017-01-16 00:10:38 +0100
committerGerrit Rockbox <gerrit@rockbox.org>2017-02-04 17:24:47 +0100
commitd7871914acd2ed77f43344e36e08944524a67d9e (patch)
tree7bcef243d9b53c3703c305b8a5f9f8a8488eabfb /apps/plugins/lib
parent1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (diff)
downloadrockbox-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 'apps/plugins/lib')
-rw-r--r--apps/plugins/lib/simple_viewer.c2
-rw-r--r--apps/plugins/lib/strncpy.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/apps/plugins/lib/simple_viewer.c b/apps/plugins/lib/simple_viewer.c
index 06cc9c1a71..6927d84a96 100644
--- a/apps/plugins/lib/simple_viewer.c
+++ b/apps/plugins/lib/simple_viewer.c
@@ -69,7 +69,7 @@ static const char* get_next_line(const char *text, struct view_info *info)
69 w = 1; 69 w = 1;
70#else 70#else
71 unsigned short ch; 71 unsigned short ch;
72 n = ((long)rb->utf8decode(ptr, &ch) - (long)ptr); 72 n = ((intptr_t)rb->utf8decode(ptr, &ch) - (intptr_t)ptr);
73 if (rb->is_diacritic(ch, NULL)) 73 if (rb->is_diacritic(ch, NULL))
74 w = 0; 74 w = 0;
75 else 75 else
diff --git a/apps/plugins/lib/strncpy.c b/apps/plugins/lib/strncpy.c
index 1b552ee15c..9ad3594287 100644
--- a/apps/plugins/lib/strncpy.c
+++ b/apps/plugins/lib/strncpy.c
@@ -41,13 +41,14 @@ QUICKREF
41#include <limits.h> 41#include <limits.h>
42#include "plugin.h" 42#include "plugin.h"
43#include "_ansi.h" 43#include "_ansi.h"
44#include <stdint.h>
44 45
45/*SUPPRESS 560*/ 46/*SUPPRESS 560*/
46/*SUPPRESS 530*/ 47/*SUPPRESS 530*/
47 48
48/* Nonzero if either X or Y is not aligned on a "long" boundary. */ 49/* Nonzero if either X or Y is not aligned on a "long" boundary. */
49#define ROCKBOX_UNALIGNED(X, Y) \ 50#define ROCKBOX_UNALIGNED(X, Y) \
50 (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) 51 (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1)))
51 52
52#if LONG_MAX == 2147483647L 53#if LONG_MAX == 2147483647L
53#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) 54#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)