Nikolay Sivov : wmp: Use CRT allocation functions.
Alexandre Julliard
julliard at winehq.org
Thu Apr 7 16:19:07 CDT 2022
Module: wine
Branch: master
Commit: 00291118dbb531d15636c809bcb0eca264716043
URL: https://source.winehq.org/git/wine.git/?a=commit;h=00291118dbb531d15636c809bcb0eca264716043
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Thu Apr 7 10:53:06 2022 +0300
wmp: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wmp/events.c | 15 +++++++--------
dlls/wmp/oleobj.c | 5 ++---
dlls/wmp/player.c | 40 ++++++++++++++++++++--------------------
dlls/wmp/wmp_private.h | 17 -----------------
4 files changed, 29 insertions(+), 48 deletions(-)
diff --git a/dlls/wmp/events.c b/dlls/wmp/events.c
index f541830773b..9f2b1cb4b29 100644
--- a/dlls/wmp/events.c
+++ b/dlls/wmp/events.c
@@ -152,7 +152,7 @@ static ULONG WINAPI EnumConnections_Release(IEnumConnections *iface)
if(!ref) {
IConnectionPoint_Release(&This->cp->IConnectionPoint_iface);
- heap_free(This);
+ free(This);
}
return ref;
@@ -296,10 +296,9 @@ static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *
}
if(i == This->sinks_size)
- This->sinks = heap_realloc(This->sinks,
- (++This->sinks_size)*sizeof(*This->sinks));
+ This->sinks = realloc(This->sinks, (++This->sinks_size)*sizeof(*This->sinks));
}else {
- This->sinks = heap_alloc(sizeof(*This->sinks));
+ This->sinks = malloc(sizeof(*This->sinks));
This->sinks_size = 1;
i = 0;
}
@@ -333,7 +332,7 @@ static HRESULT WINAPI ConnectionPoint_EnumConnections(IConnectionPoint *iface,
TRACE("(%p)->(%p)\n", This, ppEnum);
- ret = heap_alloc(sizeof(*ret));
+ ret = malloc(sizeof(*ret));
if(!ret)
return E_OUTOFMEMORY;
@@ -370,14 +369,14 @@ static void ConnectionPoint_Destroy(ConnectionPoint *This)
IDispatch_Release(This->sinks[i]);
}
- heap_free(This->sinks);
- heap_free(This);
+ free(This->sinks);
+ free(This);
}
static void ConnectionPoint_Create(REFIID riid, ConnectionPoint **cp,
IConnectionPointContainer *container)
{
- ConnectionPoint *ret = heap_alloc(sizeof(ConnectionPoint));
+ ConnectionPoint *ret = malloc(sizeof(ConnectionPoint));
ret->IConnectionPoint_iface.lpVtbl = &ConnectionPointVtbl;
diff --git a/dlls/wmp/oleobj.c b/dlls/wmp/oleobj.c
index 5eaa789f87f..e227f91f8ba 100644
--- a/dlls/wmp/oleobj.c
+++ b/dlls/wmp/oleobj.c
@@ -20,7 +20,6 @@
#include "olectl.h"
#include "wine/debug.h"
-#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(wmp);
@@ -307,7 +306,7 @@ static ULONG WINAPI OleObject_Release(IOleObject *iface)
release_client_site(This);
destroy_player(This);
ConnectionPointContainer_Destroy(This);
- heap_free(This);
+ free(This);
}
return ref;
@@ -890,7 +889,7 @@ HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory *iface, IUnknown *outer,
TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
- wmp = heap_alloc_zero(sizeof(*wmp));
+ wmp = calloc(1, sizeof(*wmp));
if(!wmp)
return E_OUTOFMEMORY;
diff --git a/dlls/wmp/player.c b/dlls/wmp/player.c
index 7225e7130a9..254d04d23f8 100644
--- a/dlls/wmp/player.c
+++ b/dlls/wmp/player.c
@@ -1741,9 +1741,9 @@ static ULONG WINAPI WMPMedia_Release(IWMPMedia *iface)
TRACE("(%p) ref=%ld\n", This, ref);
if(!ref) {
- heap_free(This->url);
- heap_free(This->name);
- heap_free(This);
+ free(This->url);
+ free(This->name);
+ free(This);
}
return ref;
@@ -1815,8 +1815,8 @@ static HRESULT WINAPI WMPMedia_put_name(IWMPMedia *iface, BSTR name)
if (!name) return E_POINTER;
- heap_free(This->name);
- This->name = heap_strdupW(name);
+ free(This->name);
+ This->name = wcsdup(name);
return S_OK;
}
@@ -1990,9 +1990,9 @@ static ULONG WINAPI WMPPlaylist_Release(IWMPPlaylist *iface)
TRACE("(%p) ref=%ld\n", This, ref);
if(!ref) {
- heap_free(This->url);
- heap_free(This->name);
- heap_free(This);
+ free(This->url);
+ free(This->name);
+ free(This);
}
return ref;
@@ -2060,8 +2060,8 @@ static HRESULT WINAPI WMPPlaylist_put_name(IWMPPlaylist *iface, BSTR name)
if (!name) return E_POINTER;
- heap_free(This->name);
- This->name = heap_strdupW(name);
+ free(This->name);
+ This->name = wcsdup(name);
return S_OK;
}
@@ -2282,7 +2282,7 @@ HRESULT create_media_from_url(BSTR url, double duration, IWMPMedia **ppMedia)
HRESULT hr;
WCHAR *name_dup;
- media = heap_alloc_zero(sizeof(*media));
+ media = calloc(1, sizeof(*media));
if (!media)
return E_OUTOFMEMORY;
@@ -2290,20 +2290,20 @@ HRESULT create_media_from_url(BSTR url, double duration, IWMPMedia **ppMedia)
if (url)
{
- media->url = heap_strdupW(url);
- name_dup = heap_strdupW(url);
+ media->url = wcsdup(url);
+ name_dup = wcsdup(url);
hr = CreateUri(name_dup, Uri_CREATE_ALLOW_RELATIVE | Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &uri);
if (FAILED(hr))
{
- heap_free(name_dup);
+ free(name_dup);
IWMPMedia_Release(&media->IWMPMedia_iface);
return hr;
}
hr = IUri_GetPath(uri, &path);
if (hr != S_OK)
{
- heap_free(name_dup);
+ free(name_dup);
IUri_Release(uri);
IWMPMedia_Release(&media->IWMPMedia_iface);
return hr;
@@ -2323,8 +2323,8 @@ HRESULT create_media_from_url(BSTR url, double duration, IWMPMedia **ppMedia)
}
else
{
- media->url = heap_strdupW(L"");
- media->name = heap_strdupW(L"");
+ media->url = wcsdup(L"");
+ media->name = wcsdup(L"");
}
media->duration = duration;
@@ -2343,13 +2343,13 @@ HRESULT create_playlist(BSTR name, BSTR url, LONG count, IWMPPlaylist **ppPlayli
{
WMPPlaylist *playlist;
- playlist = heap_alloc_zero(sizeof(*playlist));
+ playlist = calloc(1, sizeof(*playlist));
if (!playlist)
return E_OUTOFMEMORY;
playlist->IWMPPlaylist_iface.lpVtbl = &WMPPlaylistVtbl;
- playlist->url = heap_strdupW(url ? url : L"");
- playlist->name = heap_strdupW(name ? name : L"");
+ playlist->url = wcsdup(url ? url : L"");
+ playlist->name = wcsdup(name ? name : L"");
playlist->ref = 1;
playlist->count = count;
diff --git a/dlls/wmp/wmp_private.h b/dlls/wmp/wmp_private.h
index e1a1e036cd1..ffeaca09a47 100644
--- a/dlls/wmp/wmp_private.h
+++ b/dlls/wmp/wmp_private.h
@@ -19,7 +19,6 @@
#define COBJMACROS
#include "windows.h"
-#include "wine/heap.h"
#include "ole2.h"
#include "dshow.h"
#include "wmp.h"
@@ -129,22 +128,6 @@ void unregister_player_msg_class(void) DECLSPEC_HIDDEN;
extern HINSTANCE wmp_instance DECLSPEC_HIDDEN;
-static inline WCHAR *heap_strdupW(const WCHAR *str)
-{
- WCHAR *ret;
-
- if(str) {
- size_t size = lstrlenW(str)+1;
- ret = heap_alloc(size*sizeof(WCHAR));
- if(ret)
- memcpy(ret, str, size*sizeof(WCHAR));
- }else {
- ret = NULL;
- }
-
- return ret;
-}
-
static inline HRESULT return_bstr(const WCHAR *value, BSTR *p)
{
if(!p)
More information about the wine-cvs
mailing list