Hi, Otherwise ALIGN_POINTER() translates into: ptr = (ptr = stuff(ptr)) Ciao, Marcus Changelog: Fixed undefined operation compiler warning. Index: ndr_marshall.c =================================================================== RCS file: /home/wine/wine/dlls/rpcrt4/ndr_marshall.c,v retrieving revision 1.16 diff -u -r1.16 ndr_marshall.c --- ndr_marshall.c 1 Feb 2003 00:44:51 -0000 1.16 +++ ndr_marshall.c 7 Feb 2003 20:09:44 -0000 @@ -91,7 +91,7 @@ /* _Align must be the desired alignment minus 1, * e.g. ALIGN_LENGTH(len, 3) to align on a dword boundary. */ #define ALIGNED_LENGTH(_Len, _Align) (((_Len)+(_Align))&~(_Align)) -#define ALIGNED_POINTER(_Ptr, _Align) ((LPVOID)ALIGN_LENGTH((ULONG_PTR)(_Ptr), _Align)) +#define ALIGNED_POINTER(_Ptr, _Align) ((LPVOID)ALIGNED_LENGTH((ULONG_PTR)(_Ptr), _Align)) #define ALIGN_LENGTH(_Len, _Align) _Len = ALIGNED_LENGTH(_Len, _Align) #define ALIGN_POINTER(_Ptr, _Align) _Ptr = ALIGNED_POINTER(_Ptr, _Align)