Module: wine Branch: refs/heads/master Commit: 0d57265a164038e2d293d8ac26a6af069a5bed2f URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0d57265a164038e2d293d8ac... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Jan 11 20:55:51 2006 +0100 urlmon: Use CoInternetCombineUrl in URLMonikerImpl_Construct. --- dlls/urlmon/umon.c | 22 ++++++---------------- 1 files changed, 6 insertions(+), 16 deletions(-) diff --git a/dlls/urlmon/umon.c b/dlls/urlmon/umon.c index affcdfa..03ddefc 100644 --- a/dlls/urlmon/umon.c +++ b/dlls/urlmon/umon.c @@ -1065,29 +1065,19 @@ static HRESULT URLMonikerImpl_Construct( DWORD sizeStr = INTERNET_MAX_URL_LENGTH; TRACE("(%p,%s,%s)\n",This,debugstr_w(lpszLeftURLName),debugstr_w(lpszURLName)); - memset(This, 0, sizeof(*This)); - /* Initialize the virtual function table. */ This->lpvtbl = &VT_URLMonikerImpl; This->ref = 0; - if(lpszLeftURLName) { - hres = UrlCombineW(lpszLeftURLName, lpszURLName, NULL, &sizeStr, 0); - if(FAILED(hres)) { - return hres; - } - sizeStr++; - } - else - sizeStr = lstrlenW(lpszURLName)+1; - - This->URLName=HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*(sizeStr)); + sizeStr = lstrlenW(lpszURLName)+1; + if(lpszLeftURLName) + sizeStr += strlenW(lpszLeftURLName)+32; - if (This->URLName==NULL) - return E_OUTOFMEMORY; + This->URLName = HeapAlloc(GetProcessHeap(), 0, sizeStr*sizeof(WCHAR)); if(lpszLeftURLName) { - hres = UrlCombineW(lpszLeftURLName, lpszURLName, This->URLName, &sizeStr, 0); + hres = CoInternetCombineUrl(lpszLeftURLName, lpszURLName, 0, This->URLName, sizeStr, + &sizeStr, 0); if(FAILED(hres)) { HeapFree(GetProcessHeap(), 0, This->URLName); return hres;