mirror of
https://github.com/reactos/reactos.git
synced 2025-06-20 07:36:05 +00:00
sync trunk HEAD (r50626)
svn path=/branches/cmake-bringup/; revision=50635
This commit is contained in:
commit
89fbead325
32 changed files with 1401 additions and 138 deletions
|
@ -76,7 +76,14 @@ RtlAnsiStringToUnicodeString(
|
|||
|
||||
PAGED_CODE_RTL();
|
||||
|
||||
Length = RtlAnsiStringToUnicodeSize(AnsiSource);
|
||||
if (NlsMbCodePageTag == FALSE)
|
||||
{
|
||||
Length = AnsiSource->Length * 2 + sizeof(WCHAR);
|
||||
}
|
||||
else
|
||||
{
|
||||
Length = RtlxAnsiStringToUnicodeSize(AnsiSource);
|
||||
}
|
||||
if (Length > MAXUSHORT) return STATUS_INVALID_PARAMETER_2;
|
||||
UniDest->Length = (USHORT)Length - sizeof(WCHAR);
|
||||
|
||||
|
@ -91,6 +98,9 @@ RtlAnsiStringToUnicodeString(
|
|||
return STATUS_BUFFER_OVERFLOW;
|
||||
}
|
||||
|
||||
/* UniDest->MaximumLength must be even due to sizeof(WCHAR) being 2 */
|
||||
ASSERT(!(UniDest->MaximumLength & 1) && UniDest->Length <= UniDest->MaximumLength);
|
||||
|
||||
Status = RtlMultiByteToUnicodeN(UniDest->Buffer,
|
||||
UniDest->Length,
|
||||
&Index,
|
||||
|
@ -123,6 +133,8 @@ RtlxAnsiStringToUnicodeSize(IN PCANSI_STRING AnsiString)
|
|||
{
|
||||
ULONG Size;
|
||||
|
||||
PAGED_CODE_RTL();
|
||||
|
||||
/* Convert from Mb String to Unicode Size */
|
||||
RtlMultiByteToUnicodeSize(&Size,
|
||||
AnsiString->Buffer,
|
||||
|
@ -963,7 +975,16 @@ RtlUnicodeStringToAnsiString(
|
|||
|
||||
PAGED_CODE_RTL();
|
||||
|
||||
Length = RtlUnicodeStringToAnsiSize(UniSource);
|
||||
ASSERT(!(UniSource->Length & 1));
|
||||
|
||||
if (NlsMbCodePageTag == FALSE)
|
||||
{
|
||||
Length = (UniSource->Length + sizeof(WCHAR)) / sizeof(WCHAR);
|
||||
}
|
||||
else
|
||||
{
|
||||
Length = RtlxUnicodeStringToAnsiSize(UniSource);
|
||||
}
|
||||
if (Length > MAXUSHORT) return STATUS_INVALID_PARAMETER_2;
|
||||
|
||||
AnsiDest->Length = (USHORT)Length - sizeof(CHAR);
|
||||
|
@ -1953,6 +1974,10 @@ RtlxUnicodeStringToAnsiSize(IN PCUNICODE_STRING UnicodeString)
|
|||
{
|
||||
ULONG Size;
|
||||
|
||||
PAGED_CODE_RTL();
|
||||
|
||||
ASSERT(!(UnicodeString->Length & 1));
|
||||
|
||||
/* Convert the Unicode String to Mb Size */
|
||||
RtlUnicodeToMultiByteSize(&Size,
|
||||
UnicodeString->Buffer,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue