[PATCH v2 1/2] wininet: Changed usage of UrlEscapeW to fit winapi behavior
Fabian Maurer
dark.shadow4 at web.de
Wed Dec 14 09:47:50 CST 2016
Fixes https://bugs.winehq.org/show_bug.cgi?id=41956
Tested on Windows 10 and Arch Linux.
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
dlls/wininet/http.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index b3c8e66..658342b 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -4189,12 +4189,13 @@ static DWORD HTTP_HandleRedirect(http_request_t *request, LPCWSTR lpszUrl)
request->path = NULL;
if (*path)
{
- DWORD needed = 0;
+ DWORD needed = 1;
HRESULT rc;
+ WCHAR dummy = 0;
- rc = UrlEscapeW(path, NULL, &needed, URL_ESCAPE_SPACES_ONLY);
- if (rc == E_POINTER)
- needed = strlenW(path)+1;
+ rc = UrlEscapeW(path, &dummy, &needed, URL_ESCAPE_SPACES_ONLY);
+ if (rc != E_POINTER)
+ ERR("Unable to escape string!(%s) (%d)\n",debugstr_w(path),rc);
request->path = heap_alloc(needed*sizeof(WCHAR));
rc = UrlEscapeW(path, request->path, &needed,
URL_ESCAPE_SPACES_ONLY);
--
2.10.2
More information about the wine-patches
mailing list