- 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:
Gregor Schneider 2008-12-08 16:27:28 +00:00
parent 8019ca7330
commit 866e5d59a0

View file

@ -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;
}
}