Module: wine Branch: master Commit: 2a5682d98b2d06642333eef288f4d82ecda4ca9a URL: https://source.winehq.org/git/wine.git/?a=commit;h=2a5682d98b2d06642333eef28...
Author: Daniel Lehman dlehman@esri.com Date: Tue Nov 23 07:42:22 2021 -0800
kernelbase: Handle UNC path in UrlApplySchemeW.
Fixes loading XML from a UNC path.
Signed-off-by: Daniel Lehman dlehman@esri.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernelbase/path.c | 2 +- dlls/shlwapi/tests/url.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c index a9105341fad..b4b31410a3a 100644 --- a/dlls/kernelbase/path.c +++ b/dlls/kernelbase/path.c @@ -4020,7 +4020,7 @@ HRESULT WINAPI UrlApplySchemeW(const WCHAR *url, WCHAR *out, DWORD *length, DWOR
if (flags & URL_APPLY_GUESSFILE) { - if (*length > 1 && ':' == url[1]) + if ((*length > 1 && ':' == url[1]) || PathIsUNCW(url)) { res1 = *length; hr = url_create_from_path(url, out, &res1); diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index 9e04c6d7b6f..0cc14dc65bf 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -97,6 +97,11 @@ static const TEST_URL_APPLY TEST_APPLY[] = { {"u:\windows", URL_APPLY_DEFAULT, S_OK, 17, "http://u:%5C%5Cwindows%22%7D, {"file:///c:/windows", URL_APPLY_GUESSFILE , S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"aa:\windows", URL_APPLY_GUESSFILE , S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"\\server\share", URL_APPLY_DEFAULT, S_OK, 21, "http://%5C%5C%5C%5Cserver%5C%5Cshare%22%7D, + {"\\server\share", URL_APPLY_GUESSFILE, S_OK, 19, "file://server/share"}, + {"\\server\share", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"file://server/share", URL_APPLY_GUESSFILE, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"file://server/share", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, };
/* ################ */