Sergey Khodych : shlwapi: Don't copy valid scheme in UrlApplySchemeW.
Alexandre Julliard
julliard at winehq.org
Tue May 17 12:52:58 CDT 2011
Module: wine
Branch: master
Commit: 2e1bec528f983a8ec9cd1d4df79bc2aa0866f856
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2e1bec528f983a8ec9cd1d4df79bc2aa0866f856
Author: Sergey Khodych <khodych at 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.
More information about the wine-cvs
mailing list