Module: wine Branch: master Commit: 90b1bcc1aefd27e7c8719ab7e906ecc9296bbb2b URL: http://source.winehq.org/git/wine.git/?a=commit;h=90b1bcc1aefd27e7c8719ab7e9...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Dec 9 22:09:22 2009 +0100
urlmon: Include extra info in object name passed to HttpOpenRequest.
---
dlls/urlmon/http.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/urlmon/http.c b/dlls/urlmon/http.c index bb81ec8..2e47b11 100644 --- a/dlls/urlmon/http.c +++ b/dlls/urlmon/http.c @@ -95,7 +95,7 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, LPCWSTR url, DWORD requ
memset(&url_comp, 0, sizeof(url_comp)); url_comp.dwStructSize = sizeof(url_comp); - url_comp.dwSchemeLength = url_comp.dwHostNameLength = url_comp.dwUrlPathLength = + url_comp.dwSchemeLength = url_comp.dwHostNameLength = url_comp.dwUrlPathLength = url_comp.dwExtraInfoLength = url_comp.dwUserNameLength = url_comp.dwPasswordLength = 1; if (!InternetCrackUrlW(url, 0, 0, &url_comp)) return MK_E_SYNTAX; @@ -124,7 +124,12 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, LPCWSTR url, DWORD requ } accept_mimes[num] = 0;
- path = heap_strndupW(url_comp.lpszUrlPath, url_comp.dwUrlPathLength); + path = heap_alloc((url_comp.dwUrlPathLength+url_comp.dwExtraInfoLength+1)*sizeof(WCHAR)); + if(url_comp.dwUrlPathLength) + memcpy(path, url_comp.lpszUrlPath, url_comp.dwUrlPathLength*sizeof(WCHAR)); + if(url_comp.dwExtraInfoLength) + memcpy(path+url_comp.dwUrlPathLength, url_comp.lpszExtraInfo, url_comp.dwExtraInfoLength*sizeof(WCHAR)); + path[url_comp.dwUrlPathLength+url_comp.dwExtraInfoLength] = 0; if(This->https) request_flags |= INTERNET_FLAG_SECURE; This->base.request = HttpOpenRequestW(This->base.connection,