[PATCH 5/8] hnetcfg: Use an iface instead of an vtbl pointer in fw_profile.

Michael Stefaniuc mstefani at redhat.de
Mon Dec 20 04:34:31 CST 2010


---
 dlls/hnetcfg/profile.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/hnetcfg/profile.c b/dlls/hnetcfg/profile.c
index 8536bd7..f1d724d 100644
--- a/dlls/hnetcfg/profile.c
+++ b/dlls/hnetcfg/profile.c
@@ -36,13 +36,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg);
 
 typedef struct fw_profile
 {
-    const INetFwProfileVtbl *vtbl;
+    INetFwProfile INetFwProfile_iface;
     LONG refs;
 } fw_profile;
 
 static inline fw_profile *impl_from_INetFwProfile( INetFwProfile *iface )
 {
-    return (fw_profile *)((char *)iface - FIELD_OFFSET( fw_profile, vtbl ));
+    return CONTAINING_RECORD(iface, fw_profile, INetFwProfile_iface);
 }
 
 static ULONG WINAPI fw_profile_AddRef(
@@ -319,10 +319,10 @@ HRESULT NetFwProfile_create( IUnknown *pUnkOuter, LPVOID *ppObj )
     fp = HeapAlloc( GetProcessHeap(), 0, sizeof(*fp) );
     if (!fp) return E_OUTOFMEMORY;
 
-    fp->vtbl = &fw_profile_vtbl;
+    fp->INetFwProfile_iface.lpVtbl = &fw_profile_vtbl;
     fp->refs = 1;
 
-    *ppObj = &fp->vtbl;
+    *ppObj = &fp->INetFwProfile_iface;
 
     TRACE("returning iface %p\n", *ppObj);
     return S_OK;
-- 
1.7.2.3



More information about the wine-patches mailing list