Hans Leidekker : wininet: Don'
t discard the extra info part of a URL in InternetOpenUrl.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Feb 20 05:25:00 CST 2007
Module: wine
Branch: master
Commit: 316383dd493dd9329e58336fd8874f6a84d723bf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=316383dd493dd9329e58336fd8874f6a84d723bf
Author: Hans Leidekker <hans at it.vu.nl>
Date: Mon Feb 19 11:08:52 2007 +0100
wininet: Don't discard the extra info part of a URL in InternetOpenUrl.
---
dlls/wininet/internet.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 80ddc24..436dd8b 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -2857,7 +2857,24 @@ HINTERNET WINAPI INTERNET_InternetOpenUrlW(LPWININETAPPINFOW hIC, LPCWSTR lpszUr
userName, password, dwFlags, dwContext, INET_OPENURL);
if(client == NULL)
break;
- client1 = HttpOpenRequestW(client, NULL, path, NULL, NULL, accept, dwFlags, dwContext);
+
+ if (urlComponents.dwExtraInfoLength) {
+ WCHAR *path_extra;
+ DWORD size = urlComponents.dwUrlPathLength + urlComponents.dwExtraInfoLength + 1;
+
+ if (!(path_extra = HeapAlloc(GetProcessHeap(), 0, size)))
+ {
+ InternetCloseHandle(client);
+ break;
+ }
+ strcpyW(path_extra, urlComponents.lpszUrlPath);
+ strcatW(path_extra, urlComponents.lpszExtraInfo);
+ client1 = HttpOpenRequestW(client, NULL, path_extra, NULL, NULL, accept, dwFlags, dwContext);
+ HeapFree(GetProcessHeap(), 0, path_extra);
+ }
+ else
+ client1 = HttpOpenRequestW(client, NULL, path, NULL, NULL, accept, dwFlags, dwContext);
+
if(client1 == NULL) {
InternetCloseHandle(client);
break;
More information about the wine-cvs
mailing list