[ros-diffs] [cgutman] 43153: - Fix implementation of WSHGetWildcardSockaddr - Implement WSHGetBroadcastSockaddr

cgutman at svn.reactos.org cgutman at svn.reactos.org
Sat Sep 26 01:27:44 CEST 2009


Author: cgutman
Date: Sat Sep 26 01:27:44 2009
New Revision: 43153

URL: http://svn.reactos.org/svn/reactos?rev=43153&view=rev
Log:
 - Fix implementation of WSHGetWildcardSockaddr
 - Implement WSHGetBroadcastSockaddr

Modified:
    trunk/reactos/dll/win32/wshtcpip/wshtcpip.c

Modified: trunk/reactos/dll/win32/wshtcpip/wshtcpip.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wshtcpip/wshtcpip.c?rev=43153&r1=43152&r2=43153&view=diff
==============================================================================
--- trunk/reactos/dll/win32/wshtcpip/wshtcpip.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/wshtcpip/wshtcpip.c [iso-8859-1] Sat Sep 26 01:27:44 2009
@@ -75,7 +75,17 @@
     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 @@
     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;
 }
 




More information about the Ros-diffs mailing list