Andrew Eikum : shlwapi: Only skip 'localhost' in file URLs in UrlCanonicalize.
Alexandre Julliard
julliard at winehq.org
Fri Mar 19 11:16:43 CDT 2010
Module: wine
Branch: master
Commit: 594a19645e9ff54bcf3787c74028af725f329067
URL: http://source.winehq.org/git/wine.git/?a=commit;h=594a19645e9ff54bcf3787c74028af725f329067
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Fri Mar 19 10:57:13 2010 -0500
shlwapi: Only skip 'localhost' in file URLs in UrlCanonicalize.
---
dlls/shlwapi/tests/url.c | 1 +
dlls/shlwapi/url.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c
index f1bd648..f7c9455 100644
--- a/dlls/shlwapi/tests/url.c
+++ b/dlls/shlwapi/tests/url.c
@@ -160,6 +160,7 @@ static const TEST_URL_CANONICALIZE TEST_CANONICALIZE[] = {
{"A", 0, S_OK, "A", FALSE},
{"/uri-res/N2R?urn:sha1:B3K", URL_DONT_ESCAPE_EXTRA_INFO | URL_WININET_COMPATIBILITY /*0x82000000*/, S_OK, "/uri-res/N2R?urn:sha1:B3K", FALSE} /*LimeWire online installer calls this*/,
{"http:www.winehq.org/dir/../index.html", 0, S_OK, "http:www.winehq.org/index.html"},
+ {"http://localhost/test.html", URL_FILE_USE_PATHURL, S_OK, "http://localhost/test.html"}
};
/* ################ */
diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c
index 1568714..958a842 100644
--- a/dlls/shlwapi/url.c
+++ b/dlls/shlwapi/url.c
@@ -359,6 +359,7 @@ HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized,
if (*wk1 != '/') {state = 6; break;}
*wk2++ = *wk1++;
if((dwFlags & URL_FILE_USE_PATHURL) && nByteLen >= sizeof(wszLocalhost)
+ && !strncmpW(wszFile, pszUrl, sizeof(wszFile)/sizeof(WCHAR))
&& !memcmp(wszLocalhost, wk1, sizeof(wszLocalhost))){
wk1 += sizeof(wszLocalhost)/sizeof(WCHAR);
while(*wk1 == '\\' && (dwFlags & URL_FILE_USE_PATHURL))
More information about the wine-cvs
mailing list