From 7528f4d533c8e282279aba2f1fdc70fc868d1758 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 18 May 2016 18:02:02 +0200 Subject: [PATCH] wininet: Use scheme id instead of string in HTTP_HandleRedirect. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/wininet/http.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 21f6ff2c435..f932a27d7c1 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -4130,36 +4130,24 @@ static DWORD HTTP_HandleRedirect(http_request_t *request, LPCWSTR lpszUrl) } else { - URL_COMPONENTSW urlComponents; - WCHAR protocol[INTERNET_MAX_SCHEME_LENGTH]; + URL_COMPONENTSW urlComponents = { sizeof(urlComponents) }; WCHAR hostName[INTERNET_MAX_HOST_NAME_LENGTH]; WCHAR userName[INTERNET_MAX_USER_NAME_LENGTH]; BOOL custom_port = FALSE; - static const WCHAR httpW[] = {'h','t','t','p',0}; - static const WCHAR httpsW[] = {'h','t','t','p','s',0}; - userName[0] = 0; hostName[0] = 0; - protocol[0] = 0; - urlComponents.dwStructSize = sizeof(URL_COMPONENTSW); - urlComponents.lpszScheme = protocol; - urlComponents.dwSchemeLength = INTERNET_MAX_SCHEME_LENGTH; urlComponents.lpszHostName = hostName; urlComponents.dwHostNameLength = INTERNET_MAX_HOST_NAME_LENGTH; urlComponents.lpszUserName = userName; urlComponents.dwUserNameLength = INTERNET_MAX_USER_NAME_LENGTH; - urlComponents.lpszPassword = NULL; - urlComponents.dwPasswordLength = 0; urlComponents.lpszUrlPath = path; urlComponents.dwUrlPathLength = INTERNET_MAX_PATH_LENGTH; - urlComponents.lpszExtraInfo = NULL; - urlComponents.dwExtraInfoLength = 0; if(!InternetCrackUrlW(lpszUrl, strlenW(lpszUrl), 0, &urlComponents)) return INTERNET_GetLastError(); - if(!strcmpiW(protocol, httpW)) { + if(urlComponents.nScheme == INTERNET_SCHEME_HTTP) { if(request->hdr.dwFlags & INTERNET_FLAG_SECURE) { TRACE("redirect from secure page to non-secure page\n"); /* FIXME: warn about from secure redirect to non-secure page */ @@ -4167,7 +4155,7 @@ static DWORD HTTP_HandleRedirect(http_request_t *request, LPCWSTR lpszUrl) } custom_port = urlComponents.nPort != INTERNET_DEFAULT_HTTP_PORT; - }else if(!strcmpiW(protocol, httpsW)) { + }else if(urlComponents.nScheme == INTERNET_SCHEME_HTTPS) { if(!(request->hdr.dwFlags & INTERNET_FLAG_SECURE)) { TRACE("redirect from non-secure page to secure page\n"); /* FIXME: notify about redirect to secure page */