- Remove unreachable code, CID 53
authorGregor Schneider <grschneider@gmail.com>
Mon, 8 Dec 2008 16:27:28 +0000 (16:27 +0000)
committerGregor Schneider <grschneider@gmail.com>
Mon, 8 Dec 2008 16:27:28 +0000 (16:27 +0000)
- Simplify parameter checks, fix return value, set last error correctly, fix typo

svn path=/trunk/; revision=37940

reactos/dll/win32/ws2_32/misc/ns.c

index 24abbe8..40e3323 100644 (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;
-
-                /* Get ip number */
-                pos=0;
-                inetaddr=0;
+            else
+                sockaddr->sin_port = 0;
 
-                while (pos < (int)wcslen(AddressString))
-                {
-                    inetaddr = (inetaddr<<8) + ((UCHAR)wcstol(&AddressString[pos],
-                                                              bp,
-                                                              10));
-                    pos += wcscspn( &AddressString[pos],L".") +1 ;
-                }
+            /* Get ip number */
+            pos=0;
+            inetaddr=0;
 
-                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;
+
         }
     }