[RTL] Add internal RtlpDowncaseUnicodeChar function and use instead RtlDowncaseUnicodeChar internally in RTL. RtlMultiAppendUnicodeStringBuffer parameters are specified (it is documented on: http://undoc.airesoft.co.uk/ntdll.dll/RtlMultiAppendUnicodeStringBuffer.php)

svn path=/trunk/; revision=72692
This commit is contained in:
Dmitry Chapyshev 2016-09-15 20:40:29 +00:00
parent ce4186a1eb
commit 434964f61d
4 changed files with 22 additions and 7 deletions

View file

@ -86,7 +86,7 @@ RtlCustomCPToUnicodeN(IN PCPTABLEINFO CustomCP,
* @implemented
*/
WCHAR NTAPI
RtlDowncaseUnicodeChar(IN WCHAR Source)
RtlpDowncaseUnicodeChar(IN WCHAR Source)
{
USHORT Offset;
@ -124,6 +124,17 @@ RtlDowncaseUnicodeChar(IN WCHAR Source)
return Source + (SHORT)Offset;
}
/*
* @implemented
*/
WCHAR NTAPI
RtlDowncaseUnicodeChar(IN WCHAR Source)
{
PAGED_CODE_RTL();
return RtlpDowncaseUnicodeChar(Source);
}
/*
* @implemented
*/

View file

@ -163,7 +163,7 @@ RtlIsDosDeviceName_Ustr(IN PCUNICODE_STRING PathString)
{
/* Get the next lower case character */
End++;
c = RtlDowncaseUnicodeChar(*End);
c = RtlpDowncaseUnicodeChar(*End);
/* Check if it's a DOS device (LPT, COM, PRN, AUX, or NUL) */
if ((End < &PathCopy.Buffer[OriginalLength / sizeof(WCHAR)]) &&
@ -189,7 +189,7 @@ RtlIsDosDeviceName_Ustr(IN PCUNICODE_STRING PathString)
}
/* Get the next lower case character and check if it's a DOS device */
c = RtlDowncaseUnicodeChar(*PathCopy.Buffer);
c = RtlpDowncaseUnicodeChar(*PathCopy.Buffer);
if ((c != L'l') && (c != L'c') && (c != L'p') && (c != L'a') && (c != L'n'))
{
/* Not LPT, COM, PRN, AUX, or NUL */

View file

@ -235,4 +235,8 @@ WCHAR
NTAPI
RtlpUpcaseUnicodeChar(IN WCHAR Source);
WCHAR
NTAPI
RtlpDowncaseUnicodeChar(IN WCHAR Source);
/* EOF */

View file

@ -34,9 +34,9 @@ extern PUSHORT NlsUnicodeToMbOemTable;
NTSTATUS
NTAPI
RtlMultiAppendUnicodeStringBuffer(IN PVOID Unknown,
IN ULONG Unknown2,
IN PVOID Unknown3)
RtlMultiAppendUnicodeStringBuffer(OUT PRTL_UNICODE_STRING_BUFFER StringBuffer,
IN ULONG NumberOfAddends,
IN PCUNICODE_STRING Addends)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
@ -2376,7 +2376,7 @@ RtlDowncaseUnicodeString(
}
else
{
UniDest->Buffer[i] = RtlDowncaseUnicodeChar(UniSource->Buffer[i]);
UniDest->Buffer[i] = RtlpDowncaseUnicodeChar(UniSource->Buffer[i]);
}
}