ntdll Implement RtlInitNlsTables() and RtlResetRtlTranslations().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
9ae5717ba6
commit
c0ff49061f
|
@ -71,9 +71,14 @@ enum nls_section_type
|
||||||
NLS_SECTION_NORMALIZE = 12
|
NLS_SECTION_NORMALIZE = 12
|
||||||
};
|
};
|
||||||
|
|
||||||
|
UINT NlsAnsiCodePage = 0;
|
||||||
|
BYTE NlsMbCodePageTag = 0;
|
||||||
|
BYTE NlsMbOemCodePageTag = 0;
|
||||||
|
|
||||||
LCID user_lcid = 0, system_lcid = 0;
|
LCID user_lcid = 0, system_lcid = 0;
|
||||||
|
|
||||||
static LANGID user_ui_language, system_ui_language;
|
static LANGID user_ui_language, system_ui_language;
|
||||||
|
static NLSTABLEINFO nls_info;
|
||||||
static HMODULE kernel32_handle;
|
static HMODULE kernel32_handle;
|
||||||
static const union cptable *unix_table; /* NULL if UTF8 */
|
static const union cptable *unix_table; /* NULL if UTF8 */
|
||||||
|
|
||||||
|
@ -652,6 +657,30 @@ void WINAPI RtlInitCodePageTable( USHORT *ptr, CPTABLEINFO *info )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* RtlInitNlsTables (NTDLL.@)
|
||||||
|
*/
|
||||||
|
void WINAPI RtlInitNlsTables( USHORT *ansi, USHORT *oem, USHORT *casetable, NLSTABLEINFO *info )
|
||||||
|
{
|
||||||
|
RtlInitCodePageTable( ansi, &info->AnsiTableInfo );
|
||||||
|
RtlInitCodePageTable( oem, &info->OemTableInfo );
|
||||||
|
info->UpperCaseTable = casetable + 2;
|
||||||
|
info->LowerCaseTable = casetable + casetable[1] + 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* RtlResetRtlTranslations (NTDLL.@)
|
||||||
|
*/
|
||||||
|
void WINAPI RtlResetRtlTranslations( const NLSTABLEINFO *info )
|
||||||
|
{
|
||||||
|
NlsAnsiCodePage = info->AnsiTableInfo.CodePage;
|
||||||
|
NlsMbCodePageTag = info->AnsiTableInfo.DBCSCodePage;
|
||||||
|
NlsMbOemCodePageTag = info->OemTableInfo.DBCSCodePage;
|
||||||
|
nls_info = *info;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
* RtlLocaleNameToLcid (NTDLL.@)
|
* RtlLocaleNameToLcid (NTDLL.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -731,7 +731,7 @@
|
||||||
@ stdcall RtlInitAnsiStringEx(ptr str)
|
@ stdcall RtlInitAnsiStringEx(ptr str)
|
||||||
@ stdcall RtlInitCodePageTable(ptr ptr)
|
@ stdcall RtlInitCodePageTable(ptr ptr)
|
||||||
# @ stub RtlInitMemoryStream
|
# @ stub RtlInitMemoryStream
|
||||||
@ stub RtlInitNlsTables
|
@ stdcall RtlInitNlsTables(ptr ptr ptr ptr)
|
||||||
# @ stub RtlInitOutOfProcessMemoryStream
|
# @ stub RtlInitOutOfProcessMemoryStream
|
||||||
@ stdcall RtlInitString(ptr str)
|
@ stdcall RtlInitString(ptr str)
|
||||||
@ stdcall RtlInitUnicodeString(ptr wstr)
|
@ stdcall RtlInitUnicodeString(ptr wstr)
|
||||||
|
@ -901,7 +901,7 @@
|
||||||
@ stub RtlRemoteCall
|
@ stub RtlRemoteCall
|
||||||
@ stdcall RtlRemoveVectoredContinueHandler(ptr)
|
@ stdcall RtlRemoveVectoredContinueHandler(ptr)
|
||||||
@ stdcall RtlRemoveVectoredExceptionHandler(ptr)
|
@ stdcall RtlRemoveVectoredExceptionHandler(ptr)
|
||||||
@ stub RtlResetRtlTranslations
|
@ stdcall RtlResetRtlTranslations(ptr)
|
||||||
@ stdcall -arch=x86_64 RtlRestoreContext(ptr ptr)
|
@ stdcall -arch=x86_64 RtlRestoreContext(ptr ptr)
|
||||||
@ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error
|
@ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error
|
||||||
@ stub RtlRevertMemoryStream
|
@ stub RtlRevertMemoryStream
|
||||||
|
|
|
@ -40,10 +40,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
|
||||||
|
|
||||||
#define GUID_STRING_LENGTH 38
|
#define GUID_STRING_LENGTH 38
|
||||||
|
|
||||||
UINT NlsAnsiCodePage = 0;
|
|
||||||
BYTE NlsMbCodePageTag = 0;
|
|
||||||
BYTE NlsMbOemCodePageTag = 0;
|
|
||||||
|
|
||||||
extern const union cptable cptable_20127; /* 7-bit ASCII */
|
extern const union cptable cptable_20127; /* 7-bit ASCII */
|
||||||
|
|
||||||
static const union cptable *ansi_table = &cptable_20127;
|
static const union cptable *ansi_table = &cptable_20127;
|
||||||
|
@ -59,7 +55,6 @@ void CDECL __wine_init_codepages( const union cptable *ansi, const union cptable
|
||||||
{
|
{
|
||||||
ansi_table = ansi;
|
ansi_table = ansi;
|
||||||
oem_table = oem;
|
oem_table = oem;
|
||||||
NlsAnsiCodePage = ansi->info.codepage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
|
|
@ -2782,6 +2782,7 @@ NTSYSAPI void WINAPI RtlInitString(PSTRING,PCSZ);
|
||||||
NTSYSAPI void WINAPI RtlInitAnsiString(PANSI_STRING,PCSZ);
|
NTSYSAPI void WINAPI RtlInitAnsiString(PANSI_STRING,PCSZ);
|
||||||
NTSYSAPI NTSTATUS WINAPI RtlInitAnsiStringEx(PANSI_STRING,PCSZ);
|
NTSYSAPI NTSTATUS WINAPI RtlInitAnsiStringEx(PANSI_STRING,PCSZ);
|
||||||
NTSYSAPI void WINAPI RtlInitCodePageTable(USHORT*,CPTABLEINFO*);
|
NTSYSAPI void WINAPI RtlInitCodePageTable(USHORT*,CPTABLEINFO*);
|
||||||
|
NTSYSAPI void WINAPI RtlInitNlsTables(USHORT*,USHORT*,USHORT*,NLSTABLEINFO*);
|
||||||
NTSYSAPI void WINAPI RtlInitUnicodeString(PUNICODE_STRING,PCWSTR);
|
NTSYSAPI void WINAPI RtlInitUnicodeString(PUNICODE_STRING,PCWSTR);
|
||||||
NTSYSAPI NTSTATUS WINAPI RtlInitUnicodeStringEx(PUNICODE_STRING,PCWSTR);
|
NTSYSAPI NTSTATUS WINAPI RtlInitUnicodeStringEx(PUNICODE_STRING,PCWSTR);
|
||||||
NTSYSAPI void WINAPI RtlInitializeBitMap(PRTL_BITMAP,PULONG,ULONG);
|
NTSYSAPI void WINAPI RtlInitializeBitMap(PRTL_BITMAP,PULONG,ULONG);
|
||||||
|
@ -2861,6 +2862,7 @@ NTSYSAPI void WINAPI RtlReleaseResource(LPRTL_RWLOCK);
|
||||||
NTSYSAPI void WINAPI RtlReleaseSRWLockExclusive(RTL_SRWLOCK*);
|
NTSYSAPI void WINAPI RtlReleaseSRWLockExclusive(RTL_SRWLOCK*);
|
||||||
NTSYSAPI void WINAPI RtlReleaseSRWLockShared(RTL_SRWLOCK*);
|
NTSYSAPI void WINAPI RtlReleaseSRWLockShared(RTL_SRWLOCK*);
|
||||||
NTSYSAPI ULONG WINAPI RtlRemoveVectoredExceptionHandler(PVOID);
|
NTSYSAPI ULONG WINAPI RtlRemoveVectoredExceptionHandler(PVOID);
|
||||||
|
NTSYSAPI void WINAPI RtlResetRtlTranslations(const NLSTABLEINFO*);
|
||||||
NTSYSAPI void WINAPI RtlRestoreLastWin32Error(DWORD);
|
NTSYSAPI void WINAPI RtlRestoreLastWin32Error(DWORD);
|
||||||
NTSYSAPI void WINAPI RtlSecondsSince1970ToTime(DWORD,LARGE_INTEGER *);
|
NTSYSAPI void WINAPI RtlSecondsSince1970ToTime(DWORD,LARGE_INTEGER *);
|
||||||
NTSYSAPI void WINAPI RtlSecondsSince1980ToTime(DWORD,LARGE_INTEGER *);
|
NTSYSAPI void WINAPI RtlSecondsSince1980ToTime(DWORD,LARGE_INTEGER *);
|
||||||
|
|
Loading…
Reference in New Issue