Fix "warning: cast from pointer to integer of different size"

Erik de Castro Lopo mle+win at
Tue Apr 22 15:53:22 CDT 2008

Dmitry Timoshkov wrote:

> "Erik de Castro Lopo" <mle+win at> wrote:
> > /* get pointer to object containing list element */
> > #define LIST_ENTRY(elem, type, field) \
> > -    ((type *)((char *)(elem) - (unsigned int)(&((type *)0)->field)))
> > +    ((type *)((char *)(elem) - (unsigned long)(&((type *)0)->field)))
> It should be replaced with FIELD_OFFSET instead.

FIELD_OFFSET is defined in include/winnt.h. 

Now I could include winnt.h into include/wine/list.h but that doesn't
seem right. I could also copy it,but having two difinitions of the
same macro is also not right. I'm also sure that moving the definition
from include/winnt.h to include/wine/list.h will break existing code.

Any suggestions for dealing with this?

Erik de Castro Lopo
"The Internet interprets censorship as damage, and routes around it."
  -- John Gilmore

More information about the wine-devel mailing list