mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 13:56:05 +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
|
INT
|
||||||
EXPORT
|
EXPORT
|
||||||
|
@ -396,14 +396,15 @@ WSAStringToAddressW(IN LPWSTR AddressString,
|
||||||
int res=0;
|
int res=0;
|
||||||
LONG inetaddr = 0;
|
LONG inetaddr = 0;
|
||||||
LPWSTR *bp=NULL;
|
LPWSTR *bp=NULL;
|
||||||
|
SOCKADDR_IN *sockaddr;
|
||||||
|
|
||||||
SOCKADDR_IN *sockaddr = (SOCKADDR_IN *) lpAddress;
|
if (!lpAddressLength || !lpAddress || !AddressString)
|
||||||
|
{
|
||||||
if (!lpAddressLength || !lpAddress)
|
WSASetLastError(WSAEINVAL);
|
||||||
return SOCKET_ERROR;
|
return SOCKET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
if (AddressString==NULL)
|
sockaddr = (SOCKADDR_IN *) lpAddress;
|
||||||
return WSAEINVAL;
|
|
||||||
|
|
||||||
/* Set right adress family */
|
/* Set right adress family */
|
||||||
if (lpProtocolInfo!=NULL)
|
if (lpProtocolInfo!=NULL)
|
||||||
|
@ -421,46 +422,41 @@ WSAStringToAddressW(IN LPWSTR AddressString,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!lpAddress)
|
// translate ip string to ip
|
||||||
res = WSAEINVAL;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// translate now 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 */
|
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 */
|
/* Set right adress family */
|
||||||
sockaddr->sin_family = AF_INET;
|
sockaddr->sin_family = AF_INET;
|
||||||
|
|
||||||
/* Get port number */
|
/* Get port number */
|
||||||
pos = wcscspn(AddressString,L":") + 1;
|
pos = wcscspn(AddressString,L":") + 1;
|
||||||
|
|
||||||
if (pos < (int)wcslen(AddressString))
|
if (pos < (int)wcslen(AddressString))
|
||||||
sockaddr->sin_port = wcstol(&AddressString[pos],
|
sockaddr->sin_port = wcstol(&AddressString[pos],
|
||||||
bp,
|
bp,
|
||||||
10);
|
10);
|
||||||
|
|
||||||
else
|
else
|
||||||
sockaddr->sin_port = 0;
|
sockaddr->sin_port = 0;
|
||||||
|
|
||||||
/* Get ip number */
|
/* Get ip number */
|
||||||
pos=0;
|
pos=0;
|
||||||
inetaddr=0;
|
inetaddr=0;
|
||||||
|
|
||||||
while (pos < (int)wcslen(AddressString))
|
while (pos < (int)wcslen(AddressString))
|
||||||
{
|
{
|
||||||
inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],
|
inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],
|
||||||
bp,
|
bp,
|
||||||
10));
|
10));
|
||||||
pos += wcscspn( &AddressString[pos],L".") +1 ;
|
pos += wcscspn( &AddressString[pos],L".") +1 ;
|
||||||
}
|
|
||||||
|
|
||||||
res = 0;
|
|
||||||
sockaddr->sin_addr.s_addr = inetaddr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
res = 0;
|
||||||
|
sockaddr->sin_addr.s_addr = inetaddr;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue