POINTS structure macros bugs on sparc

Eric Frias efrias at syncad.com
Wed Nov 17 11:03:21 CST 2004


More endian bugs.  The MAKEPOINTS and POINTSTOPOINT macros convert between
points packed into a DWORD and a structure. On little-endian systems, this
can be done with a simple cast, on big endians, either the macro needs to be
more complex, or the order of elements in the structure needs to be
reveresed, and I think the former is the only correct way to do it.

I couldn't figure out a way to make the semantics of MAKEPOINTS on a
big-endian identical to the little-endian version without using gcc
extensions.  I'd rather avoid them, but I guess most of us will be using gcc
anyway.  Maybe someone knows of a better way to implement these macros.

There is also one change to winefile required, since it assumed that
MAKEPOINTS was really a cast.

Eric
-------------- next part --------------
A non-text attachment was scrubbed...
Name: points-macros.diff
Type: application/octet-stream
Size: 2861 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20041117/7d247438/points-macros.obj


More information about the wine-patches mailing list