Jacek Caban : mshtml: Wrap Heap* functions by inline functions.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jul 17 08:14:59 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 22cf1c9e4de3b5c00358ff2f82282fe1c7ae43a2
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=22cf1c9e4de3b5c00358ff2f82282fe1c7ae43a2
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Jul 16 23:21:36 2006 +0200
mshtml: Wrap Heap* functions by inline functions.
---
dlls/mshtml/main.c | 10 +++++-----
dlls/mshtml/mshtml_private.h | 17 +++++++++++++++++
dlls/mshtml/protocol.c | 34 +++++++++++++++++-----------------
3 files changed, 39 insertions(+), 22 deletions(-)
diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c
index d4c4bf7..1bb34de 100644
--- a/dlls/mshtml/main.c
+++ b/dlls/mshtml/main.c
@@ -100,7 +100,7 @@ static ULONG WINAPI ClassFactory_Release
TRACE("(%p) ref = %lu\n", This, ref);
if(!ref) {
- HeapFree(GetProcessHeap(), 0, This);
+ mshtml_free(This);
UNLOCK_MODULE();
}
@@ -136,7 +136,7 @@ static const IClassFactoryVtbl HTMLClass
static HRESULT ClassFactory_Create(REFIID riid, void **ppv, CreateInstanceFunc fnCreateInstance)
{
- ClassFactory *ret = HeapAlloc(GetProcessHeap(), 0, sizeof(ClassFactory));
+ ClassFactory *ret = mshtml_alloc(sizeof(ClassFactory));
HRESULT hres;
ret->lpVtbl = &HTMLClassFactoryVtbl;
@@ -147,7 +147,7 @@ static HRESULT ClassFactory_Create(REFII
if(SUCCEEDED(hres)) {
LOCK_MODULE();
}else {
- HeapFree(GetProcessHeap(), 0, ret);
+ mshtml_free(ret);
*ppv = NULL;
}
return hres;
@@ -314,7 +314,7 @@ static HRESULT register_server(BOOL do_r
INF_SET_ID(LIBID_MSHTML);
for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) {
- pse[i].pszValue = HeapAlloc(GetProcessHeap(), 0, 39);
+ pse[i].pszValue = mshtml_alloc(39);
sprintf(pse[i].pszValue, "{%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
clsids[i]->Data1, clsids[i]->Data2, clsids[i]->Data3, clsids[i]->Data4[0],
clsids[i]->Data4[1], clsids[i]->Data4[2], clsids[i]->Data4[3], clsids[i]->Data4[4],
@@ -330,7 +330,7 @@ static HRESULT register_server(BOOL do_r
hres = pRegInstall(hInst, do_register ? "RegisterDll" : "UnregisterDll", &strtable);
for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++)
- HeapFree(GetProcessHeap(), 0, pse[i].pszValue);
+ mshtml_free(pse[i].pszValue);
return hres;
}
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 43f3003..2542836 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -338,4 +338,21 @@ extern LONG module_ref;
#define LOCK_MODULE() InterlockedIncrement(&module_ref)
#define UNLOCK_MODULE() InterlockedDecrement(&module_ref)
+/* memory allocation functions */
+
+static inline void *mshtml_alloc(size_t len)
+{
+ return HeapAlloc(GetProcessHeap(), 0, len);
+}
+
+static inline void *mshtml_realloc(void *mem, size_t len)
+{
+ return HeapReAlloc(GetProcessHeap(), 0, mem, len);
+}
+
+static inline BOOL mshtml_free(void *mem)
+{
+ return HeapFree(GetProcessHeap(), 0, mem);
+}
+
extern HINSTANCE hInst;
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c
index 7a9190d..6717500 100644
--- a/dlls/mshtml/protocol.c
+++ b/dlls/mshtml/protocol.c
@@ -195,8 +195,8 @@ static ULONG WINAPI AboutProtocol_Releas
TRACE("(%p) ref=%lx\n", iface, ref);
if(!ref) {
- HeapFree(GetProcessHeap(), 0, This->data);
- HeapFree(GetProcessHeap(), 0, This);
+ mshtml_free(This->data);
+ mshtml_free(This);
UNLOCK_MODULE();
}
@@ -241,7 +241,7 @@ static HRESULT WINAPI AboutProtocol_Star
This->data_len = sizeof(html_begin)+sizeof(html_end)-sizeof(WCHAR)
+ (text ? strlenW(text)*sizeof(WCHAR) : 0);
- This->data = HeapAlloc(GetProcessHeap(), 0, This->data_len);
+ This->data = mshtml_alloc(This->data_len);
memcpy(This->data, html_begin, sizeof(html_begin));
if(text)
@@ -369,7 +369,7 @@ static HRESULT WINAPI AboutProtocolFacto
TRACE("(%p)->(%p %s %p)\n", iface, pUnkOuter, debugstr_guid(riid), ppv);
- ret = HeapAlloc(GetProcessHeap(), 0, sizeof(AboutProtocol));
+ ret = mshtml_alloc(sizeof(AboutProtocol));
ret->lpInternetProtocolVtbl = &AboutProtocolVtbl;
ret->ref = 0;
@@ -391,7 +391,7 @@ static HRESULT WINAPI AboutProtocolFacto
if(SUCCEEDED(hres))
LOCK_MODULE();
else
- HeapFree(GetProcessHeap(), 0, ret);
+ mshtml_free(ret);
return hres;
}
@@ -540,8 +540,8 @@ static ULONG WINAPI ResProtocol_Release(
TRACE("(%p) ref=%lx\n", iface, ref);
if(!ref) {
- HeapFree(GetProcessHeap(), 0, This->data);
- HeapFree(GetProcessHeap(), 0, This);
+ mshtml_free(This->data);
+ mshtml_free(This);
UNLOCK_MODULE();
}
@@ -571,11 +571,11 @@ static HRESULT WINAPI ResProtocol_Start(
ReleaseBindInfo(&bindinfo);
len = strlenW(szUrl)+16;
- url = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR));
+ url = mshtml_alloc(len*sizeof(WCHAR));
hres = CoInternetParseUrl(szUrl, PARSE_ENCODE, 0, url, len, &len, 0);
if(FAILED(hres)) {
WARN("CoInternetParseUrl failed: %08lx\n", hres);
- HeapFree(GetProcessHeap(), 0, url);
+ mshtml_free(url);
IInternetProtocolSink_ReportResult(pOIProtSink, hres, 0, NULL);
return hres;
}
@@ -583,7 +583,7 @@ static HRESULT WINAPI ResProtocol_Start(
if(len < sizeof(wszRes)/sizeof(wszRes[0]) || memcmp(url, wszRes, sizeof(wszRes))) {
WARN("Wrong protocol of url: %s\n", debugstr_w(url));
IInternetProtocolSink_ReportResult(pOIProtSink, MK_E_SYNTAX, 0, NULL);
- HeapFree(GetProcessHeap(), 0, url);
+ mshtml_free(url);
return MK_E_SYNTAX;
}
@@ -591,7 +591,7 @@ static HRESULT WINAPI ResProtocol_Start(
if(!(url_file = strchrW(url_dll, '/'))) {
WARN("wrong url: %s\n", debugstr_w(url));
IInternetProtocolSink_ReportResult(pOIProtSink, MK_E_SYNTAX, 0, NULL);
- HeapFree(GetProcessHeap(), 0, url);
+ mshtml_free(url);
return MK_E_SYNTAX;
}
@@ -607,24 +607,24 @@ static HRESULT WINAPI ResProtocol_Start(
if(!src) {
WARN("Could not find resource\n");
IInternetProtocolSink_ReportResult(pOIProtSink, HRESULT_FROM_WIN32(GetLastError()), 0, NULL);
- HeapFree(GetProcessHeap(), 0, url);
+ mshtml_free(url);
return HRESULT_FROM_WIN32(GetLastError());
}
if(This->data) {
WARN("data already loaded\n");
- HeapFree(GetProcessHeap(), 0, This->data);
+ mshtml_free(This->data);
}
This->data_len = SizeofResource(hdll, src);
- This->data = HeapAlloc(GetProcessHeap(), 0, This->data_len);
+ This->data = mshtml_alloc(This->data_len);
memcpy(This->data, LoadResource(hdll, src), This->data_len);
This->cur = 0;
FreeLibrary(hdll);
hres = FindMimeFromData(NULL, url_file, NULL, 0, NULL, 0, &mime, 0);
- HeapFree(GetProcessHeap(), 0, url);
+ mshtml_free(url);
if(SUCCEEDED(hres)) {
IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_MIMETYPEAVAILABLE, mime);
CoTaskMemFree(mime);
@@ -752,7 +752,7 @@ static HRESULT WINAPI ResProtocolFactory
TRACE("(%p)->(%p %s %p)\n", iface, pUnkOuter, debugstr_guid(riid), ppv);
- ret = HeapAlloc(GetProcessHeap(), 0, sizeof(ResProtocol));
+ ret = mshtml_alloc(sizeof(ResProtocol));
ret->lpInternetProtocolVtbl = &ResProtocolVtbl;
ret->ref = 0;
ret->data = NULL;
@@ -773,7 +773,7 @@ static HRESULT WINAPI ResProtocolFactory
if(SUCCEEDED(hres))
LOCK_MODULE();
else
- HeapFree(GetProcessHeap(), 0, ret);
+ mshtml_free(ret);
return hres;
}
More information about the wine-cvs
mailing list