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>
This commit is contained in:
Daniel Lehman 2021-11-23 07:42:22 -08:00 committed by Alexandre Julliard
parent ebc60f64e1
commit 2a5682d98b
2 changed files with 6 additions and 1 deletions

View File

@ -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);

View File

@ -97,6 +97,11 @@ static const TEST_URL_APPLY TEST_APPLY[] = {
{"u:\\windows", URL_APPLY_DEFAULT, S_OK, 17, "http://u:\\windows"},
{"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://\\\\server\\share"},
{"\\\\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},
};
/* ################ */