Nikolay Sivov : msxml3: Schema cache COM cleanup.
Alexandre Julliard
julliard at winehq.org
Mon Dec 12 12:25:52 CST 2011
Module: wine
Branch: master
Commit: c381abd84f79966d76b371f5008e950c21464cda
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c381abd84f79966d76b371f5008e950c21464cda
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sun Dec 11 13:35:07 2011 +0300
msxml3: Schema cache COM cleanup.
---
dlls/msxml3/schema.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c
index e9a9a84..aff763e 100644
--- a/dlls/msxml3/schema.c
+++ b/dlls/msxml3/schema.c
@@ -87,12 +87,13 @@ typedef enum _SCHEMA_TYPE {
SCHEMA_TYPE_XSD
} SCHEMA_TYPE;
-typedef struct _schema_cache
+typedef struct
{
- const struct IXMLDOMSchemaCollection2Vtbl* lpVtbl;
+ IXMLDOMSchemaCollection2 IXMLDOMSchemaCollection2_iface;
+ LONG ref;
+
MSXML_VERSION version;
xmlHashTablePtr cache;
- LONG ref;
VARIANT_BOOL validateOnLoad;
} schema_cache;
@@ -780,7 +781,7 @@ static LONG cache_entry_release(cache_entry* entry)
static inline schema_cache* impl_from_IXMLDOMSchemaCollection2(IXMLDOMSchemaCollection2* iface)
{
- return (schema_cache*)((char*)iface - FIELD_OFFSET(schema_cache, lpVtbl));
+ return CONTAINING_RECORD(iface, schema_cache, IXMLDOMSchemaCollection2_iface);
}
static inline SCHEMA_TYPE schema_type_from_xmlDocPtr(xmlDocPtr schema)
@@ -1065,7 +1066,7 @@ static HRESULT WINAPI schema_cache_Invoke(IXMLDOMSchemaCollection2* iface,
hr = get_typeinfo(IXMLDOMSchemaCollection_tid, &typeinfo);
if(SUCCEEDED(hr))
{
- hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams,
+ hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMSchemaCollection2_iface.lpVtbl, dispIdMember, wFlags, pDispParams,
pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo);
}
@@ -1327,7 +1328,7 @@ static HRESULT WINAPI schema_cache_getDeclaration(IXMLDOMSchemaCollection2* ifac
return E_NOTIMPL;
}
-static const struct IXMLDOMSchemaCollection2Vtbl schema_cache_vtbl =
+static const struct IXMLDOMSchemaCollection2Vtbl XMLDOMSchemaCollection2Vtbl =
{
schema_cache_QueryInterface,
schema_cache_AddRef,
@@ -1444,13 +1445,13 @@ HRESULT SchemaCache_create(MSXML_VERSION version, IUnknown* outer, void** obj)
TRACE("(%d %p %p)\n", version, outer, obj);
- This->lpVtbl = &schema_cache_vtbl;
+ This->IXMLDOMSchemaCollection2_iface.lpVtbl = &XMLDOMSchemaCollection2Vtbl;
This->cache = xmlHashCreate(DEFAULT_HASHTABLE_SIZE);
This->ref = 1;
This->version = version;
This->validateOnLoad = VARIANT_TRUE;
- *obj = &This->lpVtbl;
+ *obj = &This->IXMLDOMSchemaCollection2_iface;
return S_OK;
}
More information about the wine-cvs
mailing list