Robert Shearman wrote: > 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 *).
I think this would give a compile error but more fatal could be if someone happens to pass in a variable that was declared like long *ptr; Then the offset calculation would be all wrong. Rolf Kalbermatter