mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 15:36:42 +00:00
- Remove unreachable code, CID 53
- Simplify parameter checks, fix return value, set last error correctly, fix typo svn path=/trunk/; revision=37940
This commit is contained in:
parent
8019ca7330
commit
866e5d59a0
1 changed files with 32 additions and 36 deletions
|
@ -382,7 +382,7 @@ WSAStringToAddressA(IN LPSTR AddressString,
|
|||
|
||||
|
||||
/*
|
||||
* @implement
|
||||
* @implemented
|
||||
*/
|
||||
INT
|
||||
EXPORT
|
||||
|
@ -396,14 +396,15 @@ WSAStringToAddressW(IN LPWSTR AddressString,
|
|||
int res=0;
|
||||
LONG inetaddr = 0;
|
||||
LPWSTR *bp=NULL;
|
||||
SOCKADDR_IN *sockaddr;
|
||||
|
||||
SOCKADDR_IN *sockaddr = (SOCKADDR_IN *) lpAddress;
|
||||
|
||||
if (!lpAddressLength || !lpAddress)
|
||||
if (!lpAddressLength || !lpAddress || !AddressString)
|
||||
{
|
||||
WSASetLastError(WSAEINVAL);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
if (AddressString==NULL)
|
||||
return WSAEINVAL;
|
||||
sockaddr = (SOCKADDR_IN *) lpAddress;
|
||||
|
||||
/* Set right adress family */
|
||||
if (lpProtocolInfo!=NULL)
|
||||
|
@ -421,46 +422,41 @@ WSAStringToAddressW(IN LPWSTR AddressString,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!lpAddress)
|
||||
res = WSAEINVAL;
|
||||
else
|
||||
{
|
||||
// translate now ip string to ip
|
||||
// translate ip string to ip
|
||||
|
||||
/* rest sockaddr.sin_addr.s_addr
|
||||
/* rest sockaddr.sin_addr.s_addr
|
||||
for we need to be sure it is zero when we come to while */
|
||||
memset(lpAddress,0,sizeof(SOCKADDR_IN));
|
||||
memset(lpAddress,0,sizeof(SOCKADDR_IN));
|
||||
|
||||
/* Set right adress family */
|
||||
sockaddr->sin_family = AF_INET;
|
||||
/* Set right adress family */
|
||||
sockaddr->sin_family = AF_INET;
|
||||
|
||||
/* Get port number */
|
||||
pos = wcscspn(AddressString,L":") + 1;
|
||||
/* Get port number */
|
||||
pos = wcscspn(AddressString,L":") + 1;
|
||||
|
||||
if (pos < (int)wcslen(AddressString))
|
||||
sockaddr->sin_port = wcstol(&AddressString[pos],
|
||||
bp,
|
||||
10);
|
||||
if (pos < (int)wcslen(AddressString))
|
||||
sockaddr->sin_port = wcstol(&AddressString[pos],
|
||||
bp,
|
||||
10);
|
||||
|
||||
else
|
||||
sockaddr->sin_port = 0;
|
||||
else
|
||||
sockaddr->sin_port = 0;
|
||||
|
||||
/* Get ip number */
|
||||
pos=0;
|
||||
inetaddr=0;
|
||||
/* Get ip number */
|
||||
pos=0;
|
||||
inetaddr=0;
|
||||
|
||||
while (pos < (int)wcslen(AddressString))
|
||||
{
|
||||
inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],
|
||||
bp,
|
||||
10));
|
||||
pos += wcscspn( &AddressString[pos],L".") +1 ;
|
||||
}
|
||||
|
||||
res = 0;
|
||||
sockaddr->sin_addr.s_addr = inetaddr;
|
||||
while (pos < (int)wcslen(AddressString))
|
||||
{
|
||||
inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],
|
||||
bp,
|
||||
10));
|
||||
pos += wcscspn( &AddressString[pos],L".") +1 ;
|
||||
}
|
||||
|
||||
res = 0;
|
||||
sockaddr->sin_addr.s_addr = inetaddr;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue