wininet: InternetCrackUrl should set nPort to the default port if not specified.
This commit is contained in:
parent
9f46792ba2
commit
ae677d356c
@ -1467,8 +1467,23 @@ BOOL WINAPI InternetCrackUrlW(LPCWSTR lpszUrl_orig, DWORD dwUrlLength_orig, DWOR
|
||||
lpszHost, lpszPort - lpszHost);
|
||||
if (lpszPort != lpszNetLoc)
|
||||
lpUC->nPort = atoiW(++lpszPort);
|
||||
else
|
||||
lpUC->nPort = 0;
|
||||
else switch (lpUC->nScheme)
|
||||
{
|
||||
case INTERNET_SCHEME_HTTP:
|
||||
lpUC->nPort = INTERNET_DEFAULT_HTTP_PORT;
|
||||
break;
|
||||
case INTERNET_SCHEME_HTTPS:
|
||||
lpUC->nPort = INTERNET_DEFAULT_HTTPS_PORT;
|
||||
break;
|
||||
case INTERNET_SCHEME_FTP:
|
||||
lpUC->nPort = INTERNET_DEFAULT_FTP_PORT;
|
||||
break;
|
||||
case INTERNET_SCHEME_GOPHER:
|
||||
lpUC->nPort = INTERNET_DEFAULT_GOPHER_PORT;
|
||||
break;
|
||||
default:
|
||||
lpUC->nPort = INTERNET_INVALID_PORT_NUMBER;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -598,6 +598,8 @@ static void InternetCrackUrl_test(void)
|
||||
ok(!strncmp(urlComponents.lpszUrlPath,TEST_URL2_PATHEXTRA,strlen(TEST_URL2_PATHEXTRA)),"lpszUrlPath should be %s but is %s\n", TEST_URL2_PATHEXTRA, urlComponents.lpszUrlPath);
|
||||
ok(urlComponents.dwHostNameLength == strlen(TEST_URL2_SERVER),".dwHostNameLength should be %ld, but is %ld\n", (DWORD)strlen(TEST_URL2_SERVER), urlComponents.dwHostNameLength);
|
||||
ok(!strncmp(urlComponents.lpszHostName,TEST_URL2_SERVER,strlen(TEST_URL2_SERVER)),"lpszHostName should be %s but is %s\n", TEST_URL2_SERVER, urlComponents.lpszHostName);
|
||||
ok(urlComponents.nPort == INTERNET_DEFAULT_HTTP_PORT,"urlComponents->nPort should have been 80 instead of %d\n", urlComponents.nPort);
|
||||
ok(urlComponents.nScheme == INTERNET_SCHEME_HTTP,"urlComponents->nScheme should have been INTERNET_SCHEME_HTTP instead of %d\n", urlComponents.nScheme);
|
||||
|
||||
/*3. Check for %20 */
|
||||
copy_compsA(&urlSrc, &urlComponents, 32, 1024, 1024, 1024, 2048, 1024);
|
||||
|
Loading…
x
Reference in New Issue
Block a user