[PATCH] urlmon: Use wide-char string literals in struct initialization.

Michael Stefaniuc mstefani at winehq.org
Fri Nov 27 16:24:51 CST 2020


Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
Jacek,

dlls/urlmon/mimefilter.c:
text_plainW and app_octetstreamW cannot be inlined as there are 6 or so
pointer comparisons for those in find_mime_from_buffer()
Of course those can be changed to wcscmp() calls but it is simpler for
me to keep them as is.



 dlls/urlmon/http.c        |   9 ++-
 dlls/urlmon/internet.c    | 119 +++++++++-----------------------------
 dlls/urlmon/mimefilter.c  |  74 +++++++++---------------
 dlls/urlmon/uri.c         |  58 +++++++++----------
 dlls/urlmon/urlmon_main.c |  19 ++----
 5 files changed, 93 insertions(+), 186 deletions(-)

diff --git a/dlls/urlmon/http.c b/dlls/urlmon/http.c
index 3663443a0a4..cf7a0b78231 100644
--- a/dlls/urlmon/http.c
+++ b/dlls/urlmon/http.c
@@ -304,9 +304,9 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, IUri *uri, DWORD reques
     HRESULT hres;
 
     static const WCHAR wszBindVerb[BINDVERB_CUSTOM][5] =
-        {{'G','E','T',0},
-         {'P','O','S','T',0},
-         {'P','U','T',0}};
+        {L"GET",
+         L"POST",
+         L"PUT"};
 
     hres = IUri_GetPort(uri, &port);
     if(FAILED(hres))
@@ -345,8 +345,7 @@ static HRESULT HttpProtocol_open_request(Protocol *prot, IUri *uri, DWORD reques
     num = ARRAY_SIZE(accept_mimes) - 1;
     hres = IInternetBindInfo_GetBindString(bind_info, BINDSTRING_ACCEPT_MIMES, accept_mimes, num, &num);
     if(hres == INET_E_USE_DEFAULT_SETTING) {
-        static const WCHAR default_accept_mimeW[] = {'*','/','*',0};
-        static const WCHAR *default_accept_mimes[] = {default_accept_mimeW, NULL};
+        static const WCHAR *default_accept_mimes[] = {L"*/*", NULL};
 
         accept_types = default_accept_mimes;
         num = 0;
diff --git a/dlls/urlmon/internet.c b/dlls/urlmon/internet.c
index 7356fc8978d..ed95c069e22 100644
--- a/dlls/urlmon/internet.c
+++ b/dlls/urlmon/internet.c
@@ -32,69 +32,6 @@ static const WCHAR feature_control_keyW[] =
      'M','a','i','n','\\',
      'F','e','a','t','u','r','e','C','o','n','t','r','o','l',0};
 
-static const WCHAR feature_object_cachingW[] =
-    {'F','E','A','T','U','R','E','_','O','B','J','E','C','T','_','C','A','C','H','I','N','G',0};
-static const WCHAR feature_zone_elevationW[] =
-    {'F','E','A','T','U','R','E','_','Z','O','N','E','_','E','L','E','V','A','T','I','O','N',0};
-static const WCHAR feature_mime_handlingW[] =
-    {'F','E','A','T','U','R','E','_','M','I','M','E','_','H','A','N','D','L','I','N','G',0};
-static const WCHAR feature_mime_sniffingW[] =
-    {'F','E','A','T','U','R','E','_','M','I','M','E','_','S','N','I','F','F','I','N','G',0};
-static const WCHAR feature_window_restrictionsW[] =
-    {'F','E','A','T','U','R','E','_','W','I','N','D','O','W','_','R','E','S','T','R','I','C','T','I','O','N','S',0};
-static const WCHAR feature_weboc_popupmanagementW[] =
-    {'F','E','A','T','U','R','E','_','W','E','B','O','C','_','P','O','P','U','P','M','A','N','A','G','E','M','E','N','T',0};
-static const WCHAR feature_behaviorsW[] =
-    {'F','E','A','T','U','R','E','_','B','E','H','A','V','I','O','R','S',0};
-static const WCHAR feature_disable_mk_protocolW[] =
-    {'F','E','A','T','U','R','E','_','D','I','S','A','B','L','E','_','M','K','_','P','R','O','T','O','C','O','L',0};
-static const WCHAR feature_localmachine_lockdownW[] =
-    {'F','E','A','T','U','R','E','_','L','O','C','A','L','M','A','C','H','I','N','E','_','L','O','C','K','D','O','W','N',0};
-static const WCHAR feature_securitybandW[] =
-    {'F','E','A','T','U','R','E','_','S','E','C','U','R','I','T','Y','B','A','N','D',0};
-static const WCHAR feature_restrict_activexinstallW[] =
-    {'F','E','A','T','U','R','E','_','R','E','S','T','R','I','C','T','_','A','C','T','I','V','E','X','I','N','S','T','A','L','L',0};
-static const WCHAR feature_validate_navigate_urlW[] =
-    {'F','E','A','T','U','R','E','_','V','A','L','I','D','A','T','E','_','N','A','V','I','G','A','T','E','_','U','R','L',0};
-static const WCHAR feature_restrict_filedownloadW[] =
-    {'F','E','A','T','U','R','E','_','R','E','S','T','R','I','C','T','_','F','I','L','E','D','O','W','N','L','O','A','D',0};
-static const WCHAR feature_addon_managementW[] =
-    {'F','E','A','T','U','R','E','_','A','D','D','O','N','_','M','A','N','A','G','E','M','E','N','T',0};
-static const WCHAR feature_protocol_lockdownW[] =
-    {'F','E','A','T','U','R','E','_','P','R','O','T','O','C','O','L','_','L','O','C','K','D','O','W','N',0};
-static const WCHAR feature_http_username_password_disableW[] =
-    {'F','E','A','T','U','R','E','_','H','T','T','P','_','U','S','E','R','N','A','M','E','_',
-     'P','A','S','S','W','O','R','D','_','D','I','S','A','B','L','E',0};
-static const WCHAR feature_safe_bindtoobjectW[] =
-    {'F','E','A','T','U','R','E','_','S','A','F','E','_','B','I','N','D','T','O','O','B','J','E','C','T',0};
-static const WCHAR feature_unc_savedfilecheckW[] =
-    {'F','E','A','T','U','R','E','_','U','N','C','_','S','A','V','E','D','F','I','L','E','C','H','E','C','K',0};
-static const WCHAR feature_get_url_dom_filepath_unencodedW[] =
-    {'F','E','A','T','U','R','E','_','G','E','T','_','U','R','L','_','D','O','M','_',
-     'F','I','L','E','P','A','T','H','_','U','N','E','N','C','O','D','E','D',0};
-static const WCHAR feature_tabbed_browsingW[] =
-    {'F','E','A','T','U','R','E','_','T','A','B','B','E','D','_','B','R','O','W','S','I','N','G',0};
-static const WCHAR feature_ssluxW[] =
-    {'F','E','A','T','U','R','E','_','S','S','L','U','X',0};
-static const WCHAR feature_disable_navigation_soundsW[] =
-    {'F','E','A','T','U','R','E','_','D','I','S','A','B','L','E','_','N','A','V','I','G','A','T','I','O','N','_',
-     'S','O','U','N','D','S',0};
-static const WCHAR feature_disable_legacy_compressionW[] =
-    {'F','E','A','T','U','R','E','_','D','I','S','A','B','L','E','_','L','E','G','A','C','Y','_',
-     'C','O','M','P','R','E','S','S','I','O','N',0};
-static const WCHAR feature_force_addr_and_statusW[] =
-    {'F','E','A','T','U','R','E','_','F','O','R','C','E','_','A','D','D','R','_','A','N','D','_',
-     'S','T','A','T','U','S',0};
-static const WCHAR feature_xmlhttpW[] =
-    {'F','E','A','T','U','R','E','_','X','M','L','H','T','T','P',0};
-static const WCHAR feature_disable_telnet_protocolW[] =
-    {'F','E','A','T','U','R','E','_','D','I','S','A','B','L','E','_','T','E','L','N','E','T','_',
-     'P','R','O','T','O','C','O','L',0};
-static const WCHAR feature_feedsW[] =
-    {'F','E','A','T','U','R','E','_','F','E','E','D','S',0};
-static const WCHAR feature_block_input_promptsW[] =
-    {'F','E','A','T','U','R','E','_','B','L','O','C','K','_','I','N','P','U','T','_','P','R','O','M','P','T','S',0};
-
 static CRITICAL_SECTION process_features_cs;
 static CRITICAL_SECTION_DEBUG process_features_cs_dbg =
 {
@@ -116,34 +53,34 @@ typedef struct feature_control {
  * appear in the same order as it does in INTERNETFEATURELIST.
  */
 static feature_control process_feature_controls[FEATURE_ENTRY_COUNT] = {
-    {feature_object_cachingW,                   TRUE ,TRUE},
-    {feature_zone_elevationW,                   FALSE,TRUE},
-    {feature_mime_handlingW,                    FALSE,TRUE},
-    {feature_mime_sniffingW,                    FALSE,TRUE},
-    {feature_window_restrictionsW,              FALSE,TRUE},
-    {feature_weboc_popupmanagementW,            FALSE,TRUE},
-    {feature_behaviorsW,                        TRUE ,TRUE},
-    {feature_disable_mk_protocolW,              TRUE ,TRUE},
-    {feature_localmachine_lockdownW,            FALSE,TRUE},
-    {feature_securitybandW,                     FALSE,TRUE},
-    {feature_restrict_activexinstallW,          FALSE,TRUE},
-    {feature_validate_navigate_urlW,            FALSE,TRUE},
-    {feature_restrict_filedownloadW,            FALSE,TRUE},
-    {feature_addon_managementW,                 FALSE,TRUE},
-    {feature_protocol_lockdownW,                FALSE,TRUE},
-    {feature_http_username_password_disableW,   FALSE,TRUE},
-    {feature_safe_bindtoobjectW,                FALSE,TRUE},
-    {feature_unc_savedfilecheckW,               FALSE,TRUE},
-    {feature_get_url_dom_filepath_unencodedW,   TRUE ,TRUE},
-    {feature_tabbed_browsingW,                  FALSE,TRUE},
-    {feature_ssluxW,                            FALSE,TRUE},
-    {feature_disable_navigation_soundsW,        FALSE,TRUE},
-    {feature_disable_legacy_compressionW,       TRUE ,TRUE},
-    {feature_force_addr_and_statusW,            FALSE,TRUE},
-    {feature_xmlhttpW,                          TRUE ,TRUE},
-    {feature_disable_telnet_protocolW,          FALSE,TRUE},
-    {feature_feedsW,                            FALSE,TRUE},
-    {feature_block_input_promptsW,              FALSE,TRUE}
+    {L"FEATURE_OBJECT_CACHING",                   TRUE ,TRUE},
+    {L"FEATURE_ZONE_ELEVATION",                   FALSE,TRUE},
+    {L"FEATURE_MIME_HANDLING",                    FALSE,TRUE},
+    {L"FEATURE_MIME_SNIFFING",                    FALSE,TRUE},
+    {L"FEATURE_WINDOW_RESTRICTIONS",              FALSE,TRUE},
+    {L"FEATURE_WEBOC_POPUPMANAGEMENT",            FALSE,TRUE},
+    {L"FEATURE_BEHAVIORS",                        TRUE ,TRUE},
+    {L"FEATURE_DISABLE_MK_PROTOCOL",              TRUE ,TRUE},
+    {L"FEATURE_LOCALMACHINE_LOCKDOWN",            FALSE,TRUE},
+    {L"FEATURE_SECURITYBAND",                     FALSE,TRUE},
+    {L"FEATURE_RESTRICT_ACTIVEXINSTALL",          FALSE,TRUE},
+    {L"FEATURE_VALIDATE_NAVIGATE_URL",            FALSE,TRUE},
+    {L"FEATURE_RESTRICT_FILEDOWNLOAD",            FALSE,TRUE},
+    {L"FEATURE_ADDON_MANAGEMENT",                 FALSE,TRUE},
+    {L"FEATURE_PROTOCOL_LOCKDOWN",                FALSE,TRUE},
+    {L"FEATURE_HTTP_USERNAME_PASSWORD_DISABLE",   FALSE,TRUE},
+    {L"FEATURE_SAFE_BINDTOOBJECT",                FALSE,TRUE},
+    {L"FEATURE_UNC_SAVEDFILECHECK",               FALSE,TRUE},
+    {L"FEATURE_GET_URL_DOM_FILEPATH_UNENCODED",   TRUE ,TRUE},
+    {L"FEATURE_TABBED_BROWSING",                  FALSE,TRUE},
+    {L"FEATURE_SSLUX",                            FALSE,TRUE},
+    {L"FEATURE_DISABLE_NAVIGATION_SOUNDS",        FALSE,TRUE},
+    {L"FEATURE_DISABLE_LEGACY_COMPRESSION",       TRUE ,TRUE},
+    {L"FEATURE_FORCE_ADDR_AND_STATUS",            FALSE,TRUE},
+    {L"FEATURE_XMLHTTP",                          TRUE ,TRUE},
+    {L"FEATURE_DISABLE_TELNET_PROTOCOL",          FALSE,TRUE},
+    {L"FEATURE_FEEDS",                            FALSE,TRUE},
+    {L"FEATURE_BLOCK_INPUT_PROMPTS",              FALSE,TRUE}
 };
 
 static HRESULT parse_schema(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
diff --git a/dlls/urlmon/mimefilter.c b/dlls/urlmon/mimefilter.c
index ebaed6b77d4..44b9e92994a 100644
--- a/dlls/urlmon/mimefilter.c
+++ b/dlls/urlmon/mimefilter.c
@@ -482,28 +482,6 @@ static HRESULT find_mime_from_url(const WCHAR *url, WCHAR **ret)
     return hres;
 }
 
-static const WCHAR text_htmlW[] = {'t','e','x','t','/','h','t','m','l',0};
-static const WCHAR text_richtextW[] = {'t','e','x','t','/','r','i','c','h','t','e','x','t',0};
-static const WCHAR text_xmlW[] = {'t','e','x','t','/','x','m','l',0};
-static const WCHAR audio_basicW[] = {'a','u','d','i','o','/','b','a','s','i','c',0};
-static const WCHAR audio_wavW[] = {'a','u','d','i','o','/','w','a','v',0};
-static const WCHAR image_gifW[] = {'i','m','a','g','e','/','g','i','f',0};
-static const WCHAR image_pjpegW[] = {'i','m','a','g','e','/','p','j','p','e','g',0};
-static const WCHAR image_tiffW[] = {'i','m','a','g','e','/','t','i','f','f',0};
-static const WCHAR image_xpngW[] = {'i','m','a','g','e','/','x','-','p','n','g',0};
-static const WCHAR image_bmpW[] = {'i','m','a','g','e','/','b','m','p',0};
-static const WCHAR video_aviW[] = {'v','i','d','e','o','/','a','v','i',0};
-static const WCHAR video_mpegW[] = {'v','i','d','e','o','/','m','p','e','g',0};
-static const WCHAR app_postscriptW[] =
-        {'a','p','p','l','i','c','a','t','i','o','n','/','p','o','s','t','s','c','r','i','p','t',0};
-static const WCHAR app_pdfW[] = {'a','p','p','l','i','c','a','t','i','o','n','/','p','d','f',0};
-static const WCHAR app_xzipW[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
-        'x','-','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0};
-static const WCHAR app_xgzipW[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
-        'x','-','g','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0};
-static const WCHAR app_javaW[] = {'a','p','p','l','i','c','a','t','i','o','n','/','j','a','v','a',0};
-static const WCHAR app_xmsdownloadW[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
-        'x','-','m','s','d','o','w','n','l','o','a','d',0};
 static const WCHAR text_plainW[] = {'t','e','x','t','/','p','l','a','i','n','\0'};
 static const WCHAR app_octetstreamW[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
         'o','c','t','e','t','-','s','t','r','e','a','m','\0'};
@@ -512,33 +490,33 @@ static const struct {
     const WCHAR *mime;
     BOOL (*filter)(const BYTE *,DWORD);
 } mime_filters_any_pos[] = {
-    {text_htmlW,       text_html_filter},
-    {text_xmlW,        text_xml_filter}
+    {L"text/html",       text_html_filter},
+    {L"text/xml",        text_xml_filter}
 }, mime_filters[] = {
-    {text_richtextW,   text_richtext_filter},
- /* {audio_xaiffW,     audio_xaiff_filter}, */
-    {audio_basicW,     audio_basic_filter},
-    {audio_wavW,       audio_wav_filter},
-    {image_gifW,       image_gif_filter},
-    {image_pjpegW,     image_pjpeg_filter},
-    {image_tiffW,      image_tiff_filter},
-    {image_xpngW,      image_xpng_filter},
- /* {image_xbitmapW,   image_xbitmap_filter}, */
-    {image_bmpW,       image_bmp_filter},
- /* {image_xjgW,       image_xjg_filter}, */
- /* {image_xemfW,      image_xemf_filter}, */
- /* {image_xwmfW,      image_xwmf_filter}, */
-    {video_aviW,       video_avi_filter},
-    {video_mpegW,      video_mpeg_filter},
-    {app_postscriptW,  application_postscript_filter},
- /* {app_base64W,      application_base64_filter}, */
- /* {app_macbinhex40W, application_macbinhex40_filter}, */
-    {app_pdfW,         application_pdf_filter},
- /* {app_zcompressedW, application_xcompressed_filter}, */
-    {app_xzipW,        application_xzip_filter},
-    {app_xgzipW,       application_xgzip_filter},
-    {app_javaW,        application_java_filter},
-    {app_xmsdownloadW, application_xmsdownload},
+    {L"text/richtext",   text_richtext_filter},
+ /* {L"audio/x-aiff",    audio_xaiff_filter}, */
+    {L"audio/basic",     audio_basic_filter},
+    {L"audio/wav",       audio_wav_filter},
+    {L"image/gif",       image_gif_filter},
+    {L"image/pjpeg",     image_pjpeg_filter},
+    {L"image/tiff",      image_tiff_filter},
+    {L"image/x-png",     image_xpng_filter},
+ /* {L"image/x-bitmap",  image_xbitmap_filter}, */
+    {L"image/bmp",       image_bmp_filter},
+ /* {L"image/x-jg",      image_xjg_filter}, */
+ /* {L"image/x-emf",     image_xemf_filter}, */
+ /* {L"image/x-wmf",     image_xwmf_filter}, */
+    {L"video/avi",       video_avi_filter},
+    {L"video/mpeg",      video_mpeg_filter},
+    {L"application/postscript",         application_postscript_filter},
+ /* {L"application/base64",             application_base64_filter}, */
+ /* {L"application/mac-binhex40",       application_macbinhex40_filter}, */
+    {L"application/pdf",                application_pdf_filter},
+ /* {L"application/x-compressed",       application_xcompressed_filter}, */
+    {L"application/x-zip-compressed",   application_xzip_filter},
+    {L"application/x-gzip-compressed",  application_xgzip_filter},
+    {L"application/java",               application_java_filter},
+    {L"application/x-msdownload",       application_xmsdownload},
     {text_plainW,      text_plain_filter},
     {app_octetstreamW, application_octet_stream_filter}
 };
diff --git a/dlls/urlmon/uri.c b/dlls/urlmon/uri.c
index 3c42497bfaa..cf901dfd8b7 100644
--- a/dlls/urlmon/uri.c
+++ b/dlls/urlmon/uri.c
@@ -180,28 +180,28 @@ static const struct {
     URL_SCHEME  scheme;
     WCHAR       scheme_name[16];
 } recognized_schemes[] = {
-    {URL_SCHEME_FTP,            {'f','t','p',0}},
-    {URL_SCHEME_HTTP,           {'h','t','t','p',0}},
-    {URL_SCHEME_GOPHER,         {'g','o','p','h','e','r',0}},
-    {URL_SCHEME_MAILTO,         {'m','a','i','l','t','o',0}},
-    {URL_SCHEME_NEWS,           {'n','e','w','s',0}},
-    {URL_SCHEME_NNTP,           {'n','n','t','p',0}},
-    {URL_SCHEME_TELNET,         {'t','e','l','n','e','t',0}},
-    {URL_SCHEME_WAIS,           {'w','a','i','s',0}},
-    {URL_SCHEME_FILE,           {'f','i','l','e',0}},
-    {URL_SCHEME_MK,             {'m','k',0}},
-    {URL_SCHEME_HTTPS,          {'h','t','t','p','s',0}},
-    {URL_SCHEME_SHELL,          {'s','h','e','l','l',0}},
-    {URL_SCHEME_SNEWS,          {'s','n','e','w','s',0}},
-    {URL_SCHEME_LOCAL,          {'l','o','c','a','l',0}},
-    {URL_SCHEME_JAVASCRIPT,     {'j','a','v','a','s','c','r','i','p','t',0}},
-    {URL_SCHEME_VBSCRIPT,       {'v','b','s','c','r','i','p','t',0}},
-    {URL_SCHEME_ABOUT,          {'a','b','o','u','t',0}},
-    {URL_SCHEME_RES,            {'r','e','s',0}},
-    {URL_SCHEME_MSSHELLROOTED,  {'m','s','-','s','h','e','l','l','-','r','o','o','t','e','d',0}},
-    {URL_SCHEME_MSSHELLIDLIST,  {'m','s','-','s','h','e','l','l','-','i','d','l','i','s','t',0}},
-    {URL_SCHEME_MSHELP,         {'h','c','p',0}},
-    {URL_SCHEME_WILDCARD,       {'*',0}}
+    {URL_SCHEME_FTP,            L"ftp"},
+    {URL_SCHEME_HTTP,           L"http"},
+    {URL_SCHEME_GOPHER,         L"gopher"},
+    {URL_SCHEME_MAILTO,         L"mailto"},
+    {URL_SCHEME_NEWS,           L"news"},
+    {URL_SCHEME_NNTP,           L"nntp"},
+    {URL_SCHEME_TELNET,         L"telnet"},
+    {URL_SCHEME_WAIS,           L"wais"},
+    {URL_SCHEME_FILE,           L"file"},
+    {URL_SCHEME_MK,             L"mk"},
+    {URL_SCHEME_HTTPS,          L"https"},
+    {URL_SCHEME_SHELL,          L"shell"},
+    {URL_SCHEME_SNEWS,          L"snews"},
+    {URL_SCHEME_LOCAL,          L"local"},
+    {URL_SCHEME_JAVASCRIPT,     L"javascript"},
+    {URL_SCHEME_VBSCRIPT,       L"vbscript"},
+    {URL_SCHEME_ABOUT,          L"about"},
+    {URL_SCHEME_RES,            L"res"},
+    {URL_SCHEME_MSSHELLROOTED,  L"ms-shell-rooted"},
+    {URL_SCHEME_MSSHELLIDLIST,  L"ms-shell-idlist"},
+    {URL_SCHEME_MSHELP,         L"hcp"},
+    {URL_SCHEME_WILDCARD,       L"*"}
 };
 
 /* List of default ports Windows recognizes. */
@@ -224,13 +224,13 @@ static const struct {
 static const struct {
     WCHAR tld_name[4];
 } recognized_tlds[] = {
-    {{'c','o','m',0}},
-    {{'e','d','u',0}},
-    {{'g','o','v',0}},
-    {{'i','n','t',0}},
-    {{'m','i','l',0}},
-    {{'n','e','t',0}},
-    {{'o','r','g',0}}
+    {L"com"},
+    {L"edu"},
+    {L"gov"},
+    {L"int"},
+    {L"mil"},
+    {L"net"},
+    {L"org"}
 };
 
 static Uri *get_uri_obj(IUri *uri)
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index 0e98b9e3fc9..5d598830fdf 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -383,21 +383,14 @@ struct object_creation_info
     LPCWSTR protocol;
 };
 
-static const WCHAR wszFile[] = {'f','i','l','e',0};
-static const WCHAR wszFtp[]  = {'f','t','p',0};
-static const WCHAR wszGopher[]  = {'g','o','p','h','e','r',0};
-static const WCHAR wszHttp[] = {'h','t','t','p',0};
-static const WCHAR wszHttps[] = {'h','t','t','p','s',0};
-static const WCHAR wszMk[]   = {'m','k',0};
-
 static const struct object_creation_info object_creation[] =
 {
-    { &CLSID_FileProtocol,            &FileProtocolCF.IClassFactory_iface,    wszFile },
-    { &CLSID_FtpProtocol,             &FtpProtocolCF.IClassFactory_iface,     wszFtp  },
-    { &CLSID_GopherProtocol,          &GopherProtocolCF.IClassFactory_iface,  wszGopher },
-    { &CLSID_HttpProtocol,            &HttpProtocolCF.IClassFactory_iface,    wszHttp },
-    { &CLSID_HttpSProtocol,           &HttpSProtocolCF.IClassFactory_iface,   wszHttps },
-    { &CLSID_MkProtocol,              &MkProtocolCF.IClassFactory_iface,      wszMk },
+    { &CLSID_FileProtocol,            &FileProtocolCF.IClassFactory_iface,    L"file" },
+    { &CLSID_FtpProtocol,             &FtpProtocolCF.IClassFactory_iface,     L"ftp"  },
+    { &CLSID_GopherProtocol,          &GopherProtocolCF.IClassFactory_iface,  L"gopher" },
+    { &CLSID_HttpProtocol,            &HttpProtocolCF.IClassFactory_iface,    L"http" },
+    { &CLSID_HttpSProtocol,           &HttpSProtocolCF.IClassFactory_iface,   L"https" },
+    { &CLSID_MkProtocol,              &MkProtocolCF.IClassFactory_iface,      L"mk" },
     { &CLSID_InternetSecurityManager, &SecurityManagerCF.IClassFactory_iface, NULL    },
     { &CLSID_InternetZoneManager,     &ZoneManagerCF.IClassFactory_iface,     NULL    },
     { &CLSID_StdURLMoniker,           &StdURLMonikerCF.IClassFactory_iface,   NULL    },
-- 
2.26.2




More information about the wine-devel mailing list