*/
/* INCLUDES ******************************************************************/
-#include "ws2_32.h"
+
+#include <ws2_32.h>
+
+#include <ws2tcpip.h>
//#define NDEBUG
#include <debug.h>
ParseV4Address(IN PCWSTR AddressString,
OUT PDWORD pAddress)
{
- DWORD Address;
- LPWSTR Ip = 0;
+ IN_ADDR Address;
+ PCWSTR Terminator;
+ NTSTATUS Status;
+
+ *pAddress = 0;
+ Status = RtlIpv4StringToAddressW(AddressString, FALSE, &Terminator, &Address);
- /* Do the conversion, don't accept wildcard */
- RtlIpv4StringToAddressW((LPWSTR)AddressString, 0, &Ip, (IN_ADDR *)&Address);
+ if (!NT_SUCCESS(Status))
+ return FALSE;
- /* Return the address and success */
- *pAddress = Address;
- return FALSE;
+ *pAddress = Address.S_un.S_addr;
+ return TRUE;
}
static
WCHAR ServiceBuffer[17];
DWORD HostLength = 0, ServLength = 0;
PWCHAR ServiceString = NULL, HostString = NULL;
- DPRINT("getaddrinfo: %p, %p, %p, %lx\n", host, serv, sa, salen);
+ DPRINT("getnameinfo: %p, %p, %p, %lx\n", host, serv, sa, salen);
/* Check for WSAStartup */
if ((ErrorCode = WsQuickProlog()) != ERROR_SUCCESS) return ErrorCode;