Jacek Caban : wininet: Add missing schemes to url_schemes.
Alexandre Julliard
julliard at winehq.org
Thu Dec 19 16:00:06 CST 2019
Module: wine
Branch: master
Commit: 64cb9425da43271109bc1df8df4aa32132f257ae
URL: https://source.winehq.org/git/wine.git/?a=commit;h=64cb9425da43271109bc1df8df4aa32132f257ae
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Dec 19 15:10:47 2019 +0100
wininet: Add missing schemes to url_schemes.
Fixes res URL scheme handling.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31399
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wininet/internet.c | 23 +++++++++++++----------
dlls/wininet/tests/url.c | 5 ++++-
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 16dc200c13..ad08e7249c 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -1572,16 +1572,19 @@ BOOL WINAPI InternetCrackUrlA(const char *url, DWORD url_length, DWORD flags, UR
return ret;
}
-static const WCHAR url_schemes[][7] =
+static const WCHAR *url_schemes[] =
{
- {'f','t','p',0},
- {'g','o','p','h','e','r',0},
- {'h','t','t','p',0},
- {'h','t','t','p','s',0},
- {'f','i','l','e',0},
- {'n','e','w','s',0},
- {'m','a','i','l','t','o',0},
- {'r','e','s',0},
+ L"ftp",
+ L"gopher",
+ L"http",
+ L"https",
+ L"file",
+ L"news",
+ L"mailto",
+ L"socks",
+ L"javascript",
+ L"vbscript",
+ L"res"
};
/***********************************************************************
@@ -4199,7 +4202,7 @@ static LPCWSTR INTERNET_GetSchemeString(INTERNET_SCHEME scheme)
index = scheme - INTERNET_SCHEME_FIRST;
if (index >= ARRAY_SIZE(url_schemes))
return NULL;
- return (LPCWSTR)url_schemes[index];
+ return url_schemes[index];
}
/* we can calculate using ansi strings because we're just
diff --git a/dlls/wininet/tests/url.c b/dlls/wininet/tests/url.c
index 19ae7c3314..ba9d965442 100644
--- a/dlls/wininet/tests/url.c
+++ b/dlls/wininet/tests/url.c
@@ -168,7 +168,10 @@ static const crack_url_test_t crack_url_tests[] = {
"file", "", "", "", "C:\\Program Files\\Atmel\\.\\Asdf.xml", ""},
{"C:\\file.txt",
0, 1, INTERNET_SCHEME_UNKNOWN, -1, 0, -1, 0, -1, 0, -1, 0, 2, 9, -1, 0,
- "C", "", "", "", "\\file.txt", ""}
+ "C", "", "", "", "\\file.txt", ""},
+ {"res://IELib.dll/test.htm",
+ 0, 3, INTERNET_SCHEME_RES, 6, 9, -1, 0, -1, 0, -1, 0, 15, 9, -1, 0,
+ "res", "IELib.dll", "", "", "/test.htm", ""},
};
static WCHAR *a2w(const char *str)
More information about the wine-cvs
mailing list