[PATCH] urlmon: CoInternetParseUrl(PARSE_UNESCAPE) is an alias of PARSE_ENCODE.
Dmitry Timoshkov
dmitry at baikal.ru
Thu May 16 06:12:04 CDT 2019
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/urlmon/internet.c | 1 +
dlls/urlmon/tests/misc.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/dlls/urlmon/internet.c b/dlls/urlmon/internet.c
index 7c997a03b0..3b83d48895 100644
--- a/dlls/urlmon/internet.c
+++ b/dlls/urlmon/internet.c
@@ -401,6 +401,7 @@ HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD
case PARSE_SECURITY_URL:
return parse_security_url(pwzUrl, dwFlags, pszResult, cchResult, pcchResult);
case PARSE_ENCODE:
+ case PARSE_UNESCAPE:
return parse_encode(pwzUrl, dwFlags, pszResult, cchResult, pcchResult);
case PARSE_PATH_FROM_URL:
return parse_path_from_url(pwzUrl, dwFlags, pszResult, cchResult, pcchResult);
diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index ff0f24ed76..600b71856e 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -381,6 +381,13 @@ static void test_CoInternetParseUrl(void)
ok(size == lstrlenW(parse_tests[i].encoded_url), "[%d] wrong size\n", i);
ok(!lstrcmpW(parse_tests[i].encoded_url, buf), "[%d] wrong encoded url\n", i);
+ memset(buf, 0xf0, sizeof(buf));
+ hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_UNESCAPE, 0, buf,
+ ARRAY_SIZE(buf), &size, 0);
+ ok(hres == S_OK, "[%d] encoding failed: %08x\n", i, hres);
+ ok(size == lstrlenW(parse_tests[i].encoded_url), "[%d] wrong size\n", i);
+ ok(!lstrcmpW(parse_tests[i].encoded_url, buf), "[%d] wrong encoded url\n", i);
+
memset(buf, 0xf0, sizeof(buf));
hres = pCoInternetParseUrl(parse_tests[i].url, PARSE_PATH_FROM_URL, 0, buf,
ARRAY_SIZE(buf), &size, 0);
--
2.20.1
More information about the wine-devel
mailing list