- Fix implementation of WSHGetWildcardSockaddr
authorCameron Gutman <aicommander@gmail.com>
Fri, 25 Sep 2009 23:27:44 +0000 (23:27 +0000)
committerCameron Gutman <aicommander@gmail.com>
Fri, 25 Sep 2009 23:27:44 +0000 (23:27 +0000)
 - Implement WSHGetBroadcastSockaddr

svn path=/trunk/; revision=43153

reactos/dll/win32/wshtcpip/wshtcpip.c

index ada8521..b13fabc 100644 (file)
@@ -75,7 +75,17 @@ WSHGetBroadcastSockaddr(
     OUT PSOCKADDR Sockaddr,
     OUT PINT SockaddrLength)
 {
-    UNIMPLEMENTED
+    DWORD Size = 2 * sizeof(UINT);
+
+    if (*SockaddrLength < Size)
+        return WSAEFAULT;
+
+    RtlZeroMemory(Sockaddr, *SockaddrLength);
+
+    Sockaddr->sa_family = AF_INET;
+    *((PUINT)Sockaddr->sa_data) = INADDR_BROADCAST;
+
+    *SockaddrLength = Size;
 
     return 0;
 }
@@ -172,8 +182,18 @@ WSHGetWildcardSockaddr(
     OUT PSOCKADDR Sockaddr,
     OUT PINT SockaddrLength)
 {
-    RtlZeroMemory((PVOID)Sockaddr, *SockaddrLength);
+    DWORD Size = 2 * sizeof(UINT);
+
+    if (*SockaddrLength < Size)
+        return WSAEFAULT;
+
+    RtlZeroMemory(Sockaddr, *SockaddrLength);
+
     Sockaddr->sa_family = AF_INET;
+    *((PUINT)Sockaddr->sa_data) = INADDR_ANY;
+
+    *SockaddrLength = Size;
+
     return 0;
 }