Add two macros for char*-based pointer arithmetic and use it in font.c

This fixes errornous pointer addition (+ on a short*), which crashed in some situation.
Fixes FS#12317 and should hopefully get the clips booting again.

Thanks to Jonathan Gordon for spotting the bad pointer arithmetic.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30724 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2011-10-07 19:29:18 +00:00
parent 42a33a7f70
commit 5783505b99
2 changed files with 13 additions and 14 deletions

View file

@ -124,6 +124,8 @@ int get_cpu_boost_counter(void);
ptr = (typeof(ptr))tmp_ptr1; \
}
#define PTR_ADD(ptr, x) ((typeof(ptr))((char*)(ptr) + (x)))
#define PTR_SUB(ptr, x) ((typeof(ptr))((char*)(ptr) - (x)))
/* newer? SDL includes endian.h, So we ignore it */
#if (CONFIG_PLATFORM & PLATFORM_HOSTED) || defined(__PCTOOL__)