Commit 07478c2e authored by Francis Beaudet's avatar Francis Beaudet Committed by Alexandre Julliard

Implemented the CoTaskMemRealloc API. Also clean-up around that API

call.
parent b67b8e7a
......@@ -1407,9 +1407,10 @@ LPVOID WINAPI CoTaskMemAlloc(
LPMALLOC lpmalloc;
HRESULT ret = CoGetMalloc(0,&lpmalloc);
if (ret)
if (FAILED(ret))
return NULL;
return lpmalloc->lpvtbl->fnAlloc(lpmalloc,size);
return IMalloc_Alloc(lpmalloc,size);
}
/***********************************************************************
......@@ -1421,8 +1422,28 @@ VOID WINAPI CoTaskMemFree(
LPMALLOC lpmalloc;
HRESULT ret = CoGetMalloc(0,&lpmalloc);
if (ret) return;
lpmalloc->lpvtbl->fnFree(lpmalloc,ptr);
if (FAILED(ret))
return;
IMalloc_Free(lpmalloc, ptr);
}
/***********************************************************************
* CoTaskMemRealloc (OLE32.45)
* RETURNS
* pointer to newly allocated block
*/
LPVOID WINAPI CoTaskMemRealloc(
LPVOID pvOld,
ULONG size) /* [in] size of memoryblock to be allocated */
{
LPMALLOC lpmalloc;
HRESULT ret = CoGetMalloc(0,&lpmalloc);
if (FAILED(ret))
return NULL;
return IMalloc_Realloc(lpmalloc, pvOld, size);
}
/***********************************************************************
......
......@@ -45,7 +45,7 @@ type win32
42 stdcall CoSetState(ptr) CoSetState
43 stdcall CoTaskMemAlloc(long) CoTaskMemAlloc
44 stdcall CoTaskMemFree(ptr) CoTaskMemFree
45 stub CoTaskMemRealloc # stdcall (ptr long) return 0,ERR_NOTIMPLEMENTED
45 stdcall CoTaskMemRealloc(ptr long) CoTaskMemRealloc
46 stub CoTreatAsClass # stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
47 stdcall CoUninitialize() CoUninitialize
48 stub CoUnloadingWOW
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment