kernel32: Remove unneeded casts

Rolf Kalbermatter r.kalbermatter at hccnet.nl
Thu Dec 20 13:29:08 CST 2007


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





More information about the wine-devel mailing list