[PATCH] ntdll: Use default casemap and codepage file names if the value in registry is empty.

Dmitry Timoshkov dmitry at baikal.ru
Tue Dec 24 03:55:51 CST 2019


This helps to keep compatibility with old prefixes being reused for wine-5.0.
Old prefixes in their registry have

[System\\CurrentControlSet\\Control\\Nls\\Codepage]
"37"=""

[System\\CurrentControlSet\\Control\\Nls\\Language]
"0409"=""

and this leads to LCMapString(LCMAP_LOWERCASE/LCMAP_UPPERCASE) return garbage.

This is a regression caused by 94a3add0ea7889dbd26a4ded60ace1c40b02ed89.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/ntdll/locale.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c
index d9e4e8086e..e3f562808b 100644
--- a/dlls/ntdll/locale.c
+++ b/dlls/ntdll/locale.c
@@ -218,7 +218,7 @@ static NTSTATUS open_nls_data_file( ULONG type, ULONG id, HANDLE *file )
         NtClose( handle );
     }
 
-    if (!name)  /* otherwise some hardcoded defaults */
+    if (!name || !*name)  /* otherwise some hardcoded defaults */
     {
         switch (type)
         {
-- 
2.20.1




More information about the wine-devel mailing list