Module: wine Branch: master Commit: ac0826d51eddf034b7e23e6f2a4d6150c3b54ca8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ac0826d51eddf034b7e23e6f2a...
Author: Michael Stefaniuc mstefani@redhat.de Date: Fri Dec 10 09:31:35 2010 +0100
mscoree: Use ifaces instead of vtbl pointers in ConfigFileHandler.
---
dlls/mscoree/config.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/mscoree/config.c b/dlls/mscoree/config.c index 3a00194..3e16226 100644 --- a/dlls/mscoree/config.c +++ b/dlls/mscoree/config.c @@ -46,8 +46,8 @@ enum parse_state
typedef struct ConfigFileHandler { - const struct ISAXContentHandlerVtbl *lpVtbl; - const struct ISAXErrorHandlerVtbl *lpErrorVtbl; + ISAXContentHandler ISAXContentHandler_iface; + ISAXErrorHandler ISAXErrorHandler_iface; LONG ref; enum parse_state states[16]; int statenum; @@ -56,12 +56,12 @@ typedef struct ConfigFileHandler
static inline ConfigFileHandler *impl_from_ISAXContentHandler(ISAXContentHandler *iface) { - return (ConfigFileHandler *)((char*)iface - FIELD_OFFSET(ConfigFileHandler, lpVtbl)); + return CONTAINING_RECORD(iface, ConfigFileHandler, ISAXContentHandler_iface); }
static inline ConfigFileHandler *impl_from_ISAXErrorHandler(ISAXErrorHandler *iface) { - return (ConfigFileHandler *)((char*)iface - FIELD_OFFSET(ConfigFileHandler, lpErrorVtbl)); + return CONTAINING_RECORD(iface, ConfigFileHandler, ISAXErrorHandler_iface); }
static HRESULT WINAPI ConfigFileHandler_QueryInterface(ISAXContentHandler *iface, @@ -399,8 +399,8 @@ static HRESULT parse_config(VARIANT input, parsed_config_file *result) if (!handler) return E_OUTOFMEMORY;
- handler->lpVtbl = &ConfigFileHandlerVtbl; - handler->lpErrorVtbl = &ConfigFileHandlerErrorVtbl; + handler->ISAXContentHandler_iface.lpVtbl = &ConfigFileHandlerVtbl; + handler->ISAXErrorHandler_iface.lpVtbl = &ConfigFileHandlerErrorVtbl; handler->ref = 1; handler->states[0] = STATE_ROOT; handler->statenum = 0; @@ -411,10 +411,10 @@ static HRESULT parse_config(VARIANT input, parsed_config_file *result)
if (SUCCEEDED(hr)) { - hr = ISAXXMLReader_putContentHandler(reader, (ISAXContentHandler*)&handler->lpVtbl); + hr = ISAXXMLReader_putContentHandler(reader, &handler->ISAXContentHandler_iface);
if (SUCCEEDED(hr)) - hr = ISAXXMLReader_putErrorHandler(reader, (ISAXErrorHandler*)&handler->lpErrorVtbl); + hr = ISAXXMLReader_putErrorHandler(reader, &handler->ISAXErrorHandler_iface);
if (SUCCEEDED(hr)) hr = ISAXXMLReader_parse(reader, input);