-/* $Id: nls.c,v 1.5 2001/06/29 20:42:47 ekohl Exp $
+/* $Id: nls.c,v 1.6 2001/11/02 09:10:49 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
USHORT NlsAnsiCodePage = 0;
USHORT NlsOemCodePage = 0; /* not exported */
+PWCHAR AnsiToUnicodeTable = NULL; /* size: 256*sizeof(WCHAR) */
+PWCHAR OemToUnicodeTable = NULL; /* size: 256*sizeof(WCHAR) */
-#if 0
-WCHAR AnsiToUnicodeTable[256];
-WCHAR OemToUnicodeTable[256];
+PCHAR UnicodeToAnsiTable = NULL; /* size: 65536*sizeof(CHAR) */
+PCHAR UnicodeToOemTable =NULL; /* size: 65536*sizeof(CHAR) */
-CHAR UnicodeToAnsiTable [65536];
-CHAR UnicodeToOemTable [65536];
-#endif
+PWCHAR UnicodeUpcaseTable = NULL; /* size: 65536*sizeof(WCHAR) */
+PWCHAR UnicodeLowercaseTable = NULL; /* size: 65536*sizeof(WCHAR) */
/* FUNCTIONS *****************************************************************/
+VOID
+RtlpInitNlsTables(VOID)
+{
+ INT i;
+ PCHAR pc;
+ PWCHAR pwc;
+
+ /* allocate and initialize ansi->unicode table */
+ AnsiToUnicodeTable = ExAllocatePool(NonPagedPool, 256 * sizeof(WCHAR));
+ if (AnsiToUnicodeTable == NULL)
+ {
+ DbgPrint("Allocation of 'AnsiToUnicodeTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pwc = AnsiToUnicodeTable;
+ for (i = 0; i < 256; i++, pwc++)
+ *pwc = (WCHAR)i;
+
+ /* allocate and initialize oem->unicode table */
+ OemToUnicodeTable = ExAllocatePool(NonPagedPool, 256 * sizeof(WCHAR));
+ if (OemToUnicodeTable == NULL)
+ {
+ DbgPrint("Allocation of 'OemToUnicodeTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pwc = OemToUnicodeTable;
+ for (i = 0; i < 256; i++, pwc++)
+ *pwc = (WCHAR)i;
+
+ /* allocate and initialize unicode->ansi table */
+ UnicodeToAnsiTable = ExAllocatePool(NonPagedPool, 65536 * sizeof(CHAR));
+ if (UnicodeToAnsiTable == NULL)
+ {
+ DbgPrint("Allocation of 'UnicodeToAnsiTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pc = UnicodeToAnsiTable;
+ for (i = 0; i < 256; i++, pc++)
+ *pc = (CHAR)i;
+ for (; i < 65536; i++, pc++)
+ *pc = 0;
+
+ /* allocate and initialize unicode->oem table */
+ UnicodeToOemTable = ExAllocatePool(NonPagedPool, 65536 * sizeof(CHAR));
+ if (UnicodeToOemTable == NULL)
+ {
+ DbgPrint("Allocation of 'UnicodeToOemTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pc = UnicodeToOemTable;
+ for (i = 0; i < 256; i++, pc++)
+ *pc = (CHAR)i;
+ for (; i < 65536; i++, pc++)
+ *pc = 0;
+
+ /* allocate and initialize unicode upcase table */
+ UnicodeUpcaseTable = ExAllocatePool(NonPagedPool, 65536 * sizeof(WCHAR));
+ if (UnicodeUpcaseTable == NULL)
+ {
+ DbgPrint("Allocation of 'UnicodeUpcaseTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pwc = UnicodeUpcaseTable;
+ for (i = 0; i < 65536; i++, pwc++)
+ *pwc = (WCHAR)i;
+ for (i = 'a'; i < ('z'+ 1); i++)
+ UnicodeUpcaseTable[i] = (WCHAR)i + (L'A' - L'a');
+
+
+ /* allocate and initialize unicode lowercase table */
+ UnicodeLowercaseTable = ExAllocatePool(NonPagedPool, 65536 * sizeof(WCHAR));
+ if (UnicodeLowercaseTable == NULL)
+ {
+ DbgPrint("Allocation of 'UnicodeLowercaseTable' failed\n");
+ KeBugCheck(0);
+ }
+
+ pwc = UnicodeLowercaseTable;
+ for (i = 0; i < 65536; i++, pwc++)
+ *pwc = (WCHAR)i;
+ for (i = 'A'; i < ('Z'+ 1); i++)
+ UnicodeLowercaseTable[i] = (WCHAR)i - (L'A' - L'a');
+
+ /* FIXME: initialize codepage info */
+
+}
+
+
NTSTATUS
RtlpInitNlsSections(ULONG Mod1Start,
ULONG Mod1End,
PCHAR CustomString,
ULONG CustomSize)
{
- ULONG Size = 0;
- ULONG i;
-
- if (NlsData->DbcsFlag == FALSE)
- {
- /* single-byte code page */
- if (CustomSize > (UnicodeSize / sizeof(WCHAR)))
- Size = UnicodeSize / sizeof(WCHAR);
- else
- Size = CustomSize;
-
- if (ResultSize != NULL)
- *ResultSize = Size * sizeof(WCHAR);
-
- for (i = 0; i < Size; i++)
- {
- *UnicodeString = NlsData->MultiByteToUnicode[(int)*CustomString];
- UnicodeString++;
- CustomString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
-
- }
-
- return STATUS_SUCCESS;
+ ULONG Size = 0;
+ ULONG i;
+
+ if (NlsData->DbcsFlag == FALSE)
+ {
+ /* single-byte code page */
+ if (CustomSize > (UnicodeSize / sizeof(WCHAR)))
+ Size = UnicodeSize / sizeof(WCHAR);
+ else
+ Size = CustomSize;
+
+ if (ResultSize != NULL)
+ *ResultSize = Size * sizeof(WCHAR);
+
+ for (i = 0; i < Size; i++)
+ {
+ *UnicodeString = NlsData->MultiByteToUnicode[(unsigned int)*CustomString];
+ UnicodeString++;
+ CustomString++;
+ }
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
+
+ return(STATUS_SUCCESS);
}
RtlGetDefaultCodePage(PUSHORT AnsiCodePage,
PUSHORT OemCodePage)
{
- *AnsiCodePage = NlsAnsiCodePage;
- *OemCodePage = NlsOemCodePage;
+ *AnsiCodePage = NlsAnsiCodePage;
+ *OemCodePage = NlsOemCodePage;
}
PCHAR MbString,
ULONG MbSize)
{
- ULONG Size = 0;
- ULONG i;
+ ULONG Size = 0;
+ ULONG i;
- if (NlsMbCodePageTag == FALSE)
- {
- /* single-byte code page */
- if (MbSize > (UnicodeSize / sizeof(WCHAR)))
- Size = UnicodeSize / sizeof(WCHAR);
- else
- Size = MbSize;
-
- if (ResultSize != NULL)
- *ResultSize = Size * sizeof(WCHAR);
-
- for (i = 0; i < Size; i++)
- {
- *UnicodeString = *MbString;
-#if 0
- *UnicodeString = AnsiToUnicodeTable[*MbString];
-#endif
-
- UnicodeString++;
- MbString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsMbCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (MbSize > (UnicodeSize / sizeof(WCHAR)))
+ Size = UnicodeSize / sizeof(WCHAR);
+ else
+ Size = MbSize;
+
+ if (ResultSize != NULL)
+ *ResultSize = Size * sizeof(WCHAR);
+ for (i = 0; i < Size; i++)
+ {
+ *UnicodeString = AnsiToUnicodeTable[(unsigned int)*MbString];
+ UnicodeString++;
+ MbString++;
}
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
PCHAR MbString,
ULONG MbSize)
{
- if (NlsMbCodePageTag == FALSE)
- {
- /* single-byte code page */
- *UnicodeSize = MbSize * sizeof (WCHAR);
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsMbCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ *UnicodeSize = MbSize * sizeof (WCHAR);
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- }
-
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
-NTSTATUS
-STDCALL
-RtlOemToUnicodeN (
- PWCHAR UnicodeString,
- ULONG UnicodeSize,
- PULONG ResultSize,
- PCHAR OemString,
- ULONG OemSize)
+NTSTATUS STDCALL
+RtlOemToUnicodeN(PWCHAR UnicodeString,
+ ULONG UnicodeSize,
+ PULONG ResultSize,
+ PCHAR OemString,
+ ULONG OemSize)
{
- ULONG Size = 0;
- ULONG i;
+ ULONG Size = 0;
+ ULONG i;
- if (NlsMbOemCodePageTag == FALSE)
- {
- /* single-byte code page */
- if (OemSize > (UnicodeSize / sizeof(WCHAR)))
- Size = UnicodeSize / sizeof(WCHAR);
- else
- Size = OemSize;
-
- if (ResultSize != NULL)
- *ResultSize = Size * sizeof(WCHAR);
-
- for (i = 0; i < Size; i++)
- {
- *UnicodeString = *OemString;
-#if 0
- *UnicodeString = OemToUnicodeTable[*OemString];
-#endif
-
- UnicodeString++;
- OemString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsMbOemCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (OemSize > (UnicodeSize / sizeof(WCHAR)))
+ Size = UnicodeSize / sizeof(WCHAR);
+ else
+ Size = OemSize;
+
+ if (ResultSize != NULL)
+ *ResultSize = Size * sizeof(WCHAR);
+ for (i = 0; i < Size; i++)
+ {
+ *UnicodeString = OemToUnicodeTable[(unsigned int)*OemString];
+ UnicodeString++;
+ OemString++;
}
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
-NTSTATUS
-STDCALL
-RtlUnicodeToCustomCPN (
- PRTL_NLS_DATA NlsData,
- PCHAR CustomString,
- ULONG CustomSize,
- PULONG ResultSize,
- PWCHAR UnicodeString,
- ULONG UnicodeSize
- )
+NTSTATUS STDCALL
+RtlUnicodeToCustomCPN(PRTL_NLS_DATA NlsData,
+ PCHAR CustomString,
+ ULONG CustomSize,
+ PULONG ResultSize,
+ PWCHAR UnicodeString,
+ ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
+ ULONG Size = 0;
+ ULONG i;
- if (NlsData->DbcsFlag == 0)
- {
- /* single-byte code page */
- if (UnicodeSize > (CustomSize * sizeof(WCHAR)))
- Size = CustomSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- *CustomString = NlsData->UnicodeToMultiByte[*UnicodeString];
- CustomString++;
- UnicodeString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsData->DbcsFlag == 0)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (CustomSize * sizeof(WCHAR)))
+ Size = CustomSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+ for (i = 0; i < Size; i++)
+ {
+ *CustomString = NlsData->UnicodeToMultiByte[(unsigned int)*UnicodeString];
+ CustomString++;
+ UnicodeString++;
}
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
NTSTATUS
STDCALL
-RtlUnicodeToMultiByteN (
- PCHAR MbString,
- ULONG MbSize,
- PULONG ResultSize,
- PWCHAR UnicodeString,
- ULONG UnicodeSize)
+RtlUnicodeToMultiByteN(PCHAR MbString,
+ ULONG MbSize,
+ PULONG ResultSize,
+ PWCHAR UnicodeString,
+ ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
+ ULONG Size = 0;
+ ULONG i;
- if (NlsMbCodePageTag == FALSE)
- {
- /* single-byte code page */
- if (UnicodeSize > (MbSize * sizeof(WCHAR)))
- Size = MbSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- *MbString = *UnicodeString;
-#if 0
- *MbString = UnicodeToAnsiTable[*UnicodeString];
-#endif
-
- MbString++;
- UnicodeString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsMbCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (MbSize * sizeof(WCHAR)))
+ Size = MbSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+
+ for (i = 0; i < Size; i++)
+ {
+ *MbString = UnicodeToAnsiTable[(unsigned int)*UnicodeString];
+ MbString++;
+ UnicodeString++;
}
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
PWCHAR UnicodeString,
ULONG UnicodeSize)
{
- if (NlsMbCodePageTag == FALSE)
- {
- /* single-byte code page */
- *MbSize = UnicodeSize / sizeof (WCHAR);
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
-
- }
+ if (NlsMbCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ *MbSize = UnicodeSize / sizeof (WCHAR);
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
NTSTATUS STDCALL
-RtlUnicodeToOemN (
- PCHAR OemString,
- ULONG OemSize,
- PULONG ResultSize,
- PWCHAR UnicodeString,
- ULONG UnicodeSize)
+RtlUnicodeToOemN(PCHAR OemString,
+ ULONG OemSize,
+ PULONG ResultSize,
+ PWCHAR UnicodeString,
+ ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
+ ULONG Size = 0;
+ ULONG i;
- if (NlsMbOemCodePageTag == FALSE)
- {
- /* single-byte code page */
- if (UnicodeSize > (OemSize * sizeof(WCHAR)))
- Size = OemSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- *OemString = *UnicodeString;
-#if 0
- *OemString = UnicodeToOemTable[*UnicodeString];
-#endif
-
- OemString++;
- UnicodeString++;
- }
- }
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ if (NlsMbOemCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (OemSize * sizeof(WCHAR)))
+ Size = OemSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+ for (i = 0; i < Size; i++)
+ {
+ *OemString = UnicodeToOemTable[(unsigned int)*UnicodeString];
+ OemString++;
+ UnicodeString++;
}
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
NTSTATUS STDCALL
-RtlUpcaseUnicodeToCustomCPN (
- PRTL_NLS_DATA NlsData,
- PCHAR CustomString,
- ULONG CustomSize,
- PULONG ResultSize,
- PWCHAR UnicodeString,
- ULONG UnicodeSize
- )
+RtlUpcaseUnicodeToCustomCPN(PRTL_NLS_DATA NlsData,
+ PCHAR CustomString,
+ ULONG CustomSize,
+ PULONG ResultSize,
+ PWCHAR UnicodeString,
+ ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
-
- if (NlsData->DbcsFlag == 0)
+ ULONG Size = 0;
+ ULONG i;
+ WCHAR wc;
+
+ if (NlsData->DbcsFlag == 0)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (CustomSize * sizeof(WCHAR)))
+ Size = CustomSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+
+ for (i = 0; i < Size; i++)
{
- /* single-byte code page */
- if (UnicodeSize > (CustomSize * sizeof(WCHAR)))
- Size = CustomSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- /* FIXME: Upcase!! */
- *CustomString = NlsData->UnicodeToMultiByte[*UnicodeString];
- CustomString++;
- UnicodeString++;
- }
+ wc = UnicodeUpcaseTable[(unsigned int)*UnicodeString];
+ *CustomString = NlsData->UnicodeToMultiByte[(unsigned int)wc];
+ CustomString++;
+ UnicodeString++;
}
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- }
-
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
PWCHAR UnicodeString,
ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
-
- if (NlsMbCodePageTag == FALSE)
+ ULONG Size = 0;
+ ULONG i;
+ WCHAR wc;
+
+ if (NlsMbCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (MbSize * sizeof(WCHAR)))
+ Size = MbSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+
+ for (i = 0; i < Size; i++)
{
- /* single-byte code page */
- if (UnicodeSize > (MbSize * sizeof(WCHAR)))
- Size = MbSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- /* FIXME: Upcase !! */
- *MbString = *UnicodeString;
-#if 0
- *MbString = UnicodeToAnsiTable[*UnicodeString];
-#endif
-
- MbString++;
- UnicodeString++;
- }
+ wc = UnicodeUpcaseTable[(unsigned int)*UnicodeString];
+ *MbString = UnicodeToAnsiTable[(unsigned int)wc];
+ MbString++;
+ UnicodeString++;
}
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- }
-
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
PWCHAR UnicodeString,
ULONG UnicodeSize)
{
- ULONG Size = 0;
- ULONG i;
-
- if (NlsMbOemCodePageTag == FALSE)
+ ULONG Size = 0;
+ ULONG i;
+ UCHAR wc;
+
+ if (NlsMbOemCodePageTag == FALSE)
+ {
+ /* single-byte code page */
+ if (UnicodeSize > (OemSize * sizeof(WCHAR)))
+ Size = OemSize;
+ else
+ Size = UnicodeSize / sizeof(WCHAR);
+
+ if (ResultSize != NULL)
+ *ResultSize = Size;
+
+ for (i = 0; i < Size; i++)
{
- /* single-byte code page */
- if (UnicodeSize > (OemSize * sizeof(WCHAR)))
- Size = OemSize;
- else
- Size = UnicodeSize / sizeof(WCHAR);
-
- if (ResultSize != NULL)
- *ResultSize = Size;
-
- for (i = 0; i < Size; i++)
- {
- /* FIXME: Upcase !! */
- *OemString = *UnicodeString;
-#if 0
- *OemString = UnicodeToOemTable[*UnicodeString];
-#endif
-
- OemString++;
- UnicodeString++;
- }
+ wc = UnicodeUpcaseTable[(unsigned int)*UnicodeString];
+ *OemString = UnicodeToOemTable[(unsigned int)wc];
+ OemString++;
+ UnicodeString++;
}
- else
- {
- /* multi-byte code page */
- /* FIXME */
+ }
+ else
+ {
+ /* multi-byte code page */
+ /* FIXME */
+ }
- }
-
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
/* EOF */
-/* $Id: unicode.c,v 1.18 2001/03/13 16:25:55 dwelch Exp $
+/* $Id: unicode.c,v 1.19 2001/11/02 09:10:49 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
-STDCALL
+VOID STDCALL
RtlInitString (
IN OUT PSTRING DestinationString,
IN PCSZ SourceString
}
-VOID
-STDCALL
+VOID STDCALL
RtlInitUnicodeString (
IN OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
}
-NTSTATUS
-STDCALL
+NTSTATUS STDCALL
RtlIntegerToChar (
IN ULONG Value,
IN ULONG Base,
}
-NTSTATUS
-STDCALL
-RtlIntegerToUnicodeString (
- IN ULONG Value,
- IN ULONG Base, /* optional */
- IN OUT PUNICODE_STRING String
- )
+NTSTATUS STDCALL
+RtlIntegerToUnicodeString(IN ULONG Value,
+ IN ULONG Base, /* optional */
+ IN OUT PUNICODE_STRING String)
{
ANSI_STRING AnsiString;
CHAR Buffer[33];
NTSTATUS STDCALL
-RtlOemStringToCountedUnicodeString (IN OUT PUNICODE_STRING DestinationString,
- IN POEM_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+RtlOemStringToCountedUnicodeString(IN OUT PUNICODE_STRING DestinationString,
+ IN POEM_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-ULONG
-STDCALL
-RtlOemStringToUnicodeSize (
- IN POEM_STRING OemString
- )
+ULONG STDCALL
+RtlOemStringToUnicodeSize(IN POEM_STRING OemString)
{
- ULONG Size;
+ ULONG Size;
- RtlMultiByteToUnicodeSize (&Size,
- OemString->Buffer,
- OemString->Length);
+ RtlMultiByteToUnicodeSize(&Size,
+ OemString->Buffer,
+ OemString->Length);
- return Size;
+ return(Size);
}
NTSTATUS STDCALL
-RtlOemStringToUnicodeString (IN OUT PUNICODE_STRING DestinationString,
- IN POEM_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+RtlOemStringToUnicodeString(IN OUT PUNICODE_STRING DestinationString,
+ IN POEM_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-BOOLEAN
-STDCALL
-RtlPrefixString (
- PANSI_STRING String1,
- PANSI_STRING String2,
- BOOLEAN CaseInsensitive
- )
+BOOLEAN STDCALL
+RtlPrefixString(IN PANSI_STRING String1,
+ IN PANSI_STRING String2,
+ IN BOOLEAN CaseInsensitive)
{
PCHAR pc1;
PCHAR pc2;
}
-BOOLEAN
-STDCALL
-RtlPrefixUnicodeString (
- PUNICODE_STRING String1,
- PUNICODE_STRING String2,
- BOOLEAN CaseInsensitive
- )
+BOOLEAN STDCALL
+RtlPrefixUnicodeString(IN PUNICODE_STRING String1,
+ IN PUNICODE_STRING String2,
+ IN BOOLEAN CaseInsensitive)
{
PWCHAR pc1;
PWCHAR pc2;
}
-ULONG
-STDCALL
+ULONG STDCALL
RtlUnicodeStringToAnsiSize(IN PUNICODE_STRING UnicodeString)
{
- ULONG Size;
+ ULONG Size;
- RtlUnicodeToMultiByteSize (&Size,
- UnicodeString->Buffer,
- UnicodeString->Length);
+ RtlUnicodeToMultiByteSize(&Size,
+ UnicodeString->Buffer,
+ UnicodeString->Length);
- return Size;
+ return(Size);
}
-NTSTATUS
-STDCALL
-RtlUnicodeStringToAnsiString (IN OUT PANSI_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+NTSTATUS STDCALL
+RtlUnicodeStringToAnsiString(IN OUT PANSI_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-NTSTATUS
-STDCALL
-RtlUnicodeStringToCountedOemString (IN OUT POEM_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+NTSTATUS STDCALL
+RtlUnicodeStringToCountedOemString(IN OUT POEM_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-NTSTATUS
-STDCALL
-RtlUnicodeStringToInteger (
- IN PUNICODE_STRING String,
- IN ULONG Base,
- OUT PULONG Value
- )
+NTSTATUS STDCALL
+RtlUnicodeStringToInteger(IN PUNICODE_STRING String,
+ IN ULONG Base,
+ OUT PULONG Value)
{
PWCHAR Str;
ULONG lenmin = 0;
}
-ULONG
-STDCALL
-RtlUnicodeStringToOemSize (
- IN PUNICODE_STRING UnicodeString
- )
+ULONG STDCALL
+RtlUnicodeStringToOemSize(IN PUNICODE_STRING UnicodeString)
{
- ULONG Size;
-
- RtlUnicodeToMultiByteSize (&Size,
- UnicodeString->Buffer,
- UnicodeString->Length);
+ ULONG Size;
- return Size;
+ RtlUnicodeToMultiByteSize(&Size,
+ UnicodeString->Buffer,
+ UnicodeString->Length);
+ return(Size);
}
NTSTATUS STDCALL
-RtlUnicodeStringToOemString (IN OUT POEM_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+RtlUnicodeStringToOemString(IN OUT POEM_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
DestinationString->Length = Length;
- RtlZeroMemory (DestinationString->Buffer,
- DestinationString->Length);
+ RtlZeroMemory(DestinationString->Buffer,
+ DestinationString->Length);
- Status = RtlUnicodeToOemN (DestinationString->Buffer,
- DestinationString->Length,
- NULL,
- SourceString->Buffer,
- SourceString->Length);
+ Status = RtlUnicodeToOemN(DestinationString->Buffer,
+ DestinationString->Length,
+ NULL,
+ SourceString->Buffer,
+ SourceString->Length);
if (!NT_SUCCESS(Status))
{
if (AllocateDestinationString)
- ExFreePool (DestinationString->Buffer);
+ ExFreePool(DestinationString->Buffer);
return Status;
}
}
-WCHAR
-STDCALL
-RtlUpcaseUnicodeChar (
- WCHAR Source
- )
+WCHAR STDCALL
+RtlUpcaseUnicodeChar(IN WCHAR Source)
{
- if (Source < L'a')
- return Source;
+ if (Source < L'a')
+ return(Source);
- if (Source <= L'z')
- return (Source - (L'a' - L'A'));
+ if (Source <= L'z')
+ return(Source - (L'a' - L'A'));
- /* FIXME: characters above 'z' */
+ /* FIXME: characters above 'z' */
- return Source;
+ return(Source);
}
NTSTATUS STDCALL
-RtlUpcaseUnicodeString (IN OUT PUNICODE_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+RtlUpcaseUnicodeString(IN OUT PUNICODE_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
ULONG i;
PWCHAR Src, Dest;
{
DestinationString->MaximumLength = SourceString->Length + sizeof(WCHAR);
DestinationString->Buffer =
- ExAllocatePoolWithTag (NonPagedPool,
- SourceString->Length + sizeof(WCHAR),
- TAG_USTR);
+ ExAllocatePoolWithTag(NonPagedPool,
+ SourceString->Length + sizeof(WCHAR),
+ TAG_USTR);
if (DestinationString->Buffer == NULL)
- return STATUS_NO_MEMORY;
+ return(STATUS_NO_MEMORY);
}
else
{
if (SourceString->Length >= DestinationString->MaximumLength)
- return STATUS_BUFFER_TOO_SMALL;
+ return(STATUS_BUFFER_TOO_SMALL);
}
DestinationString->Length = SourceString->Length;
Dest = DestinationString->Buffer;
for (i=0; i < SourceString->Length / sizeof(WCHAR); i++)
{
- *Dest = RtlUpcaseUnicodeChar (*Src);
+ *Dest = RtlUpcaseUnicodeChar(*Src);
Dest++;
Src++;
}
*Dest = 0;
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
-NTSTATUS
-STDCALL
-RtlUpcaseUnicodeStringToAnsiString (
- IN OUT PANSI_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString
- )
+NTSTATUS STDCALL
+RtlUpcaseUnicodeStringToAnsiString(IN OUT PANSI_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
if (NlsMbCodePageTag == TRUE)
- Length = RtlUnicodeStringToAnsiSize (SourceString);
+ Length = RtlUnicodeStringToAnsiSize(SourceString);
else
Length = SourceString->Length / sizeof(WCHAR);
{
DestinationString->MaximumLength = Length + sizeof(CHAR);
DestinationString->Buffer =
- ExAllocatePoolWithTag (NonPagedPool,
- DestinationString->MaximumLength,
- TAG_ASTR);
+ ExAllocatePoolWithTag(NonPagedPool,
+ DestinationString->MaximumLength,
+ TAG_ASTR);
if (DestinationString->Buffer == NULL)
- return STATUS_NO_MEMORY;
+ return(STATUS_NO_MEMORY);
}
else
{
if (Length >= DestinationString->MaximumLength)
- return STATUS_BUFFER_TOO_SMALL;
+ return(STATUS_BUFFER_TOO_SMALL);
}
DestinationString->Length = Length;
- RtlZeroMemory (DestinationString->Buffer,
- DestinationString->Length);
+ RtlZeroMemory(DestinationString->Buffer,
+ DestinationString->Length);
- Status = RtlUpcaseUnicodeToMultiByteN (DestinationString->Buffer,
- DestinationString->Length,
- NULL,
- SourceString->Buffer,
- SourceString->Length);
+ Status = RtlUpcaseUnicodeToMultiByteN(DestinationString->Buffer,
+ DestinationString->Length,
+ NULL,
+ SourceString->Buffer,
+ SourceString->Length);
if (!NT_SUCCESS(Status))
{
if (AllocateDestinationString)
- ExFreePool (DestinationString->Buffer);
- return Status;
+ ExFreePool(DestinationString->Buffer);
+ return(Status);
}
DestinationString->Buffer[Length] = 0;
- return STATUS_SUCCESS;
+ return(STATUS_SUCCESS);
}
NTSTATUS STDCALL
-RtlUpcaseUnicodeStringToCountedOemString (IN OUT POEM_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString)
+RtlUpcaseUnicodeStringToCountedOemString(IN OUT POEM_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-NTSTATUS
-STDCALL
-RtlUpcaseUnicodeStringToOemString (
- IN OUT POEM_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString
- )
+NTSTATUS STDCALL
+RtlUpcaseUnicodeStringToOemString(IN OUT POEM_STRING DestinationString,
+ IN PUNICODE_STRING SourceString,
+ IN BOOLEAN AllocateDestinationString)
{
NTSTATUS Status;
ULONG Length;
}
-CHAR
-STDCALL
-RtlUpperChar (
- IN CHAR Source
- )
+CHAR STDCALL
+RtlUpperChar(IN CHAR Source)
{
- WCHAR Unicode;
- CHAR Destination;
+ WCHAR Unicode;
+ CHAR Destination;
if (NlsMbCodePageTag == FALSE)
{
Destination = Source;
}
- return Destination;
+ return(Destination);
}
-VOID
-STDCALL
-RtlUpperString(PSTRING DestinationString, PSTRING SourceString)
+VOID STDCALL
+RtlUpperString(PSTRING DestinationString,
+ PSTRING SourceString)
{
- ULONG Length;
- ULONG i;
- PCHAR Src;
- PCHAR Dest;
+ ULONG Length;
+ ULONG i;
+ PCHAR Src;
+ PCHAR Dest;
- Length = min(SourceString->Length, DestinationString->MaximumLength - 1);
+ Length = min(SourceString->Length,
+ DestinationString->MaximumLength - 1);
- Src = SourceString->Buffer;
- Dest = DestinationString->Buffer;
- for (i = 0; i < Length; i++)
- {
- *Dest = RtlUpperChar (*Src);
- Src++;
- Dest++;
- }
- *Dest = 0;
+ Src = SourceString->Buffer;
+ Dest = DestinationString->Buffer;
+ for (i = 0; i < Length; i++)
+ {
+ *Dest = RtlUpperChar(*Src);
+ Src++;
+ Dest++;
+ }
+ *Dest = 0;
- DestinationString->Length = SourceString->Length;
+ DestinationString->Length = SourceString->Length;
}
-ULONG
-STDCALL
-RtlxAnsiStringToUnicodeSize (
- IN PANSI_STRING AnsiString
- )
+ULONG STDCALL
+RtlxAnsiStringToUnicodeSize(IN PANSI_STRING AnsiString)
{
- return RtlAnsiStringToUnicodeSize (AnsiString);
+ return(RtlAnsiStringToUnicodeSize(AnsiString));
}
-ULONG
-STDCALL
-RtlxOemStringToUnicodeSize (
- IN POEM_STRING OemString
- )
+ULONG STDCALL
+RtlxOemStringToUnicodeSize(IN POEM_STRING OemString)
{
- return RtlAnsiStringToUnicodeSize ((PANSI_STRING)OemString);
+ return(RtlAnsiStringToUnicodeSize((PANSI_STRING)OemString));
}
-ULONG
-STDCALL
-RtlxUnicodeStringToAnsiSize (
- IN PUNICODE_STRING UnicodeString
- )
+ULONG STDCALL
+RtlxUnicodeStringToAnsiSize(IN PUNICODE_STRING UnicodeString)
{
- return RtlUnicodeStringToAnsiSize (UnicodeString);
+ return(RtlUnicodeStringToAnsiSize(UnicodeString));
}
-ULONG
-STDCALL
-RtlxUnicodeStringToOemSize (
- IN PUNICODE_STRING UnicodeString
- )
+ULONG STDCALL
+RtlxUnicodeStringToOemSize(IN PUNICODE_STRING UnicodeString)
{
- return RtlUnicodeStringToAnsiSize (UnicodeString);
+ return(RtlUnicodeStringToAnsiSize(UnicodeString));
}
/* EOF */