Gerald Pfeifer : kernel32: Use FIELD_OFFSET instead of pointer cast.

Alexandre Julliard julliard at winehq.org
Mon Oct 15 11:28:11 CDT 2007


Module: wine
Branch: master
Commit: 1a0f1bc6cec2e61cd8a4292c44a5278bffbf84e7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1a0f1bc6cec2e61cd8a4292c44a5278bffbf84e7

Author: Gerald Pfeifer <gerald at pfeifer.com>
Date:   Sun Oct 14 13:18:29 2007 +0200

kernel32: Use FIELD_OFFSET instead of pointer cast.

---

 dlls/kernel32/system.c |    2 +-
 dlls/kernel32/thunk.c  |    8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/kernel32/system.c b/dlls/kernel32/system.c
index ab38467..9395d83 100644
--- a/dlls/kernel32/system.c
+++ b/dlls/kernel32/system.c
@@ -174,7 +174,7 @@ static void call_timer_proc16( WORD timer )
     context.SegGs = wine_get_gs();
     context.SegCs = SELECTOROF( proc );
     context.Eip   = OFFSETOF( proc );
-    context.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + (WORD)&((STACK16FRAME*)0)->bp;
+    context.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + FIELD_OFFSET(STACK16FRAME,bp);
     context.Eax   = timer;
 
     WOWCallback16Ex( 0, WCB16_REGS, 0, NULL, (DWORD *)&context );
diff --git a/dlls/kernel32/thunk.c b/dlls/kernel32/thunk.c
index 096d6b3..c35302e 100644
--- a/dlls/kernel32/thunk.c
+++ b/dlls/kernel32/thunk.c
@@ -462,7 +462,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT86 *context )
     context16.Eip   = LOWORD(context->Edx);
     /* point EBP to the STACK16FRAME on the stack
      * for the call_to_16 to set up the register content on calling */
-    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + (WORD)&((STACK16FRAME*)0)->bp;
+    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + FIELD_OFFSET(STACK16FRAME,bp);
 
     /*
      * used to be (problematic):
@@ -594,7 +594,7 @@ void WINAPI __regs_FT_Thunk( CONTEXT86 *context )
     context16.SegGs = wine_get_gs();
     context16.SegCs = HIWORD(callTarget);
     context16.Eip   = LOWORD(callTarget);
-    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + (WORD)&((STACK16FRAME*)0)->bp;
+    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + FIELD_OFFSET(STACK16FRAME,bp);
 
     argsize  = context->Ebp-context->Esp-0x40;
     if (argsize > sizeof(newstack)) argsize = sizeof(newstack);
@@ -760,7 +760,7 @@ void WINAPI __regs_Common32ThkLS( CONTEXT86 *context )
     context16.Edi   = LOWORD(context->Ecx);
     context16.SegCs = HIWORD(context->Eax);
     context16.Eip   = LOWORD(context->Eax);
-    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + (WORD)&((STACK16FRAME*)0)->bp;
+    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + FIELD_OFFSET(STACK16FRAME,bp);
 
     argsize = HIWORD(context->Edx) * 4;
 
@@ -820,7 +820,7 @@ void WINAPI __regs_OT_32ThkLSF( CONTEXT86 *context )
     context16.SegGs = wine_get_gs();
     context16.SegCs = HIWORD(context->Edx);
     context16.Eip   = LOWORD(context->Edx);
-    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + (WORD)&((STACK16FRAME*)0)->bp;
+    context16.Ebp   = OFFSETOF(NtCurrentTeb()->WOW32Reserved) + FIELD_OFFSET(STACK16FRAME,bp);
 
     argsize = 2 * *(WORD *)context->Esp + 2;
 




More information about the wine-cvs mailing list