mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 09:24:11 +00:00
[RTL]
- Implement RtlIpv4StringToAddressExW. Patch by Mark Jansen. CORE-6490 svn path=/trunk/; revision=66270
This commit is contained in:
parent
279e2f65b3
commit
a3e8496b8d
|
@ -337,17 +337,52 @@ Done:
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
RtlIpv4StringToAddressExW(IN PCWSTR AddressString,
|
RtlIpv4StringToAddressExW(
|
||||||
IN BOOLEAN Strict,
|
_In_ PCWSTR AddressString,
|
||||||
OUT struct in_addr *Address,
|
_In_ BOOLEAN Strict,
|
||||||
OUT PUSHORT Port)
|
_Out_ struct in_addr *Address,
|
||||||
|
_Out_ PUSHORT Port)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
PCWSTR CurrentChar;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
ULONG ConvertedPort;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
if (!AddressString || !Address || !Port)
|
||||||
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
|
||||||
|
Status = RtlIpv4StringToAddressW(AddressString,
|
||||||
|
Strict,
|
||||||
|
&CurrentChar,
|
||||||
|
Address);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
return Status;
|
||||||
|
|
||||||
|
if (!*CurrentChar)
|
||||||
|
{
|
||||||
|
*Port = 0;
|
||||||
|
return STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*CurrentChar != L':')
|
||||||
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
++CurrentChar;
|
||||||
|
|
||||||
|
Status = RtlpStringToUlong(CurrentChar,
|
||||||
|
FALSE,
|
||||||
|
&CurrentChar,
|
||||||
|
&ConvertedPort);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
return Status;
|
||||||
|
|
||||||
|
if (*CurrentChar || !ConvertedPort || ConvertedPort > 0xffff)
|
||||||
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
|
||||||
|
*Port = WN2H(ConvertedPort);
|
||||||
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue