Andrew Talbot wrote:
/* All local heap allocations are aligned on 4-byte boundaries */ #define LALIGN(word) (((word) + 3) & ~3)
-#define ARENA_PTR(ptr,arena) ((LOCALARENA *)((char*)(ptr)+(arena))) +#define ARENA_PTR(ptr,arena) ((LOCALARENA *)((ptr)+(arena)))
Don't remove casts from macros like this as they then won't be safe if the type that is passed in is changed to something else (like void *).