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