Sergey Khodych : shlwapi: Don't copy valid scheme in UrlApplySchemeW.
Module: wine Branch: master Commit: 2e1bec528f983a8ec9cd1d4df79bc2aa0866f856 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2e1bec528f983a8ec9cd1d4df7... Author: Sergey Khodych <khodych(a)gmail.com> Date: Sun May 15 00:48:57 2011 +0300 shlwapi: Don't copy valid scheme in UrlApplySchemeW. --- dlls/shlwapi/tests/url.c | 4 ++++ dlls/shlwapi/url.c | 14 -------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index 5a035ac..d116c16 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -85,6 +85,10 @@ static const TEST_URL_APPLY TEST_APPLY[] = { {"winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_OK, 17, "http://winehq.org"}, {"winehq.org", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"winehq.org", URL_APPLY_DEFAULT, S_OK, 17, "http://winehq.org"}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME , S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_FORCEAPPLY, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_FORCEAPPLY | URL_APPLY_DEFAULT, S_OK, 28, "http://http://www.winehq.org"}, + {"http://www.winehq.org", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"", URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT, S_OK, 7, "http://"}, {"", URL_APPLY_GUESSSCHEME, S_FALSE, TEST_APPLY_MAX_LENGTH, untouchedA}, {"", URL_APPLY_DEFAULT, S_OK, 7, "http://"} diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c index b8c51a4..7fc37a9 100644 --- a/dlls/shlwapi/url.c +++ b/dlls/shlwapi/url.c @@ -1764,20 +1764,6 @@ HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DW return ret; } } - else { - /* we have a scheme, see if valid (known scheme) */ - if (in_scheme.nScheme) { - /* have valid scheme, so just copy and exit */ - if (strlenW(pszIn) + 1 > *pcchOut) { - *pcchOut = strlenW(pszIn) + 1; - return E_POINTER; - } - strcpyW(pszOut, pszIn); - *pcchOut = strlenW(pszOut); - TRACE("valid scheme, returning copy\n"); - return S_OK; - } - } /* If we are here, then either invalid scheme, * or no scheme and can't/failed guess.
participants (1)
-
Alexandre Julliard