From ecd7ea605e6f1a9b69888de1ad881da37deae320 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Fri, 10 Dec 2010 09:31:49 +0100 Subject: [PATCH] wuapi: Use an iface instead of a vtbl pointer in update_downloader. --- dlls/wuapi/downloader.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/wuapi/downloader.c b/dlls/wuapi/downloader.c index 72929661df5..6bed32ee660 100644 --- a/dlls/wuapi/downloader.c +++ b/dlls/wuapi/downloader.c @@ -36,13 +36,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(wuapi); typedef struct _update_downloader { - const struct IUpdateDownloaderVtbl *vtbl; + IUpdateDownloader IUpdateDownloader_iface; LONG refs; } update_downloader; static inline update_downloader *impl_from_IUpdateDownloader( IUpdateDownloader *iface ) { - return (update_downloader *)((char *)iface - FIELD_OFFSET( update_downloader, vtbl )); + return CONTAINING_RECORD(iface, update_downloader, IUpdateDownloader_iface); } static ULONG WINAPI update_downloader_AddRef( @@ -257,10 +257,10 @@ HRESULT UpdateDownloader_create( IUnknown *pUnkOuter, LPVOID *ppObj ) downloader = HeapAlloc( GetProcessHeap(), 0, sizeof(*downloader) ); if (!downloader) return E_OUTOFMEMORY; - downloader->vtbl = &update_downloader_vtbl; + downloader->IUpdateDownloader_iface.lpVtbl = &update_downloader_vtbl; downloader->refs = 1; - *ppObj = &downloader->vtbl; + *ppObj = &downloader->IUpdateDownloader_iface; TRACE("returning iface %p\n", *ppObj); return S_OK;