Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
c0ff4906
Commit
c0ff4906
authored
Nov 26, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll Implement RtlInitNlsTables() and RtlResetRtlTranslations().
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
9ae5717b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
7 deletions
+33
-7
locale.c
dlls/ntdll/locale.c
+29
-0
ntdll.spec
dlls/ntdll/ntdll.spec
+2
-2
rtlstr.c
dlls/ntdll/rtlstr.c
+0
-5
winternl.h
include/winternl.h
+2
-0
No files found.
dlls/ntdll/locale.c
View file @
c0ff4906
...
...
@@ -71,9 +71,14 @@ enum nls_section_type
NLS_SECTION_NORMALIZE
=
12
};
UINT
NlsAnsiCodePage
=
0
;
BYTE
NlsMbCodePageTag
=
0
;
BYTE
NlsMbOemCodePageTag
=
0
;
LCID
user_lcid
=
0
,
system_lcid
=
0
;
static
LANGID
user_ui_language
,
system_ui_language
;
static
NLSTABLEINFO
nls_info
;
static
HMODULE
kernel32_handle
;
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.@)
*/
...
...
dlls/ntdll/ntdll.spec
View file @
c0ff4906
...
...
@@ -731,7 +731,7 @@
@ stdcall RtlInitAnsiStringEx(ptr str)
@ stdcall RtlInitCodePageTable(ptr ptr)
# @ stub RtlInitMemoryStream
@ st
ub RtlInitNlsTables
@ st
dcall RtlInitNlsTables(ptr ptr ptr ptr)
# @ stub RtlInitOutOfProcessMemoryStream
@ stdcall RtlInitString(ptr str)
@ stdcall RtlInitUnicodeString(ptr wstr)
...
...
@@ -901,7 +901,7 @@
@ stub RtlRemoteCall
@ stdcall RtlRemoveVectoredContinueHandler(ptr)
@ stdcall RtlRemoveVectoredExceptionHandler(ptr)
@ st
ub RtlResetRtlTranslations
@ st
dcall RtlResetRtlTranslations(ptr)
@ stdcall -arch=x86_64 RtlRestoreContext(ptr ptr)
@ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error
@ stub RtlRevertMemoryStream
...
...
dlls/ntdll/rtlstr.c
View file @
c0ff4906
...
...
@@ -40,10 +40,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
#define GUID_STRING_LENGTH 38
UINT
NlsAnsiCodePage
=
0
;
BYTE
NlsMbCodePageTag
=
0
;
BYTE
NlsMbOemCodePageTag
=
0
;
extern
const
union
cptable
cptable_20127
;
/* 7-bit ASCII */
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
;
oem_table
=
oem
;
NlsAnsiCodePage
=
ansi
->
info
.
codepage
;
}
/**************************************************************************
...
...
include/winternl.h
View file @
c0ff4906
...
...
@@ -2782,6 +2782,7 @@ NTSYSAPI void WINAPI RtlInitString(PSTRING,PCSZ);
NTSYSAPI
void
WINAPI
RtlInitAnsiString
(
PANSI_STRING
,
PCSZ
);
NTSYSAPI
NTSTATUS
WINAPI
RtlInitAnsiStringEx
(
PANSI_STRING
,
PCSZ
);
NTSYSAPI
void
WINAPI
RtlInitCodePageTable
(
USHORT
*
,
CPTABLEINFO
*
);
NTSYSAPI
void
WINAPI
RtlInitNlsTables
(
USHORT
*
,
USHORT
*
,
USHORT
*
,
NLSTABLEINFO
*
);
NTSYSAPI
void
WINAPI
RtlInitUnicodeString
(
PUNICODE_STRING
,
PCWSTR
);
NTSYSAPI
NTSTATUS
WINAPI
RtlInitUnicodeStringEx
(
PUNICODE_STRING
,
PCWSTR
);
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
RtlReleaseSRWLockShared
(
RTL_SRWLOCK
*
);
NTSYSAPI
ULONG
WINAPI
RtlRemoveVectoredExceptionHandler
(
PVOID
);
NTSYSAPI
void
WINAPI
RtlResetRtlTranslations
(
const
NLSTABLEINFO
*
);
NTSYSAPI
void
WINAPI
RtlRestoreLastWin32Error
(
DWORD
);
NTSYSAPI
void
WINAPI
RtlSecondsSince1970ToTime
(
DWORD
,
LARGE_INTEGER
*
);
NTSYSAPI
void
WINAPI
RtlSecondsSince1980ToTime
(
DWORD
,
LARGE_INTEGER
*
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment