[RTL][ADVAPI32_APITEST] RtlIsTextUnicode: Don't change weight unless lead-byte flag (#5396)

- Fix the garbled characters (a.k.a. mojibake) in some Japanese text files.
- weight will remain 3 unless IS_TEXT_UNICODE_DBCS_LEADBYTE flag is set.
- Strengthen advapi32_apitest IsTextUnicode testcase.
CORE-19016
This commit is contained in:
Katayama Hirofumi MZ 2023-07-05 12:01:42 +09:00 committed by GitHub
parent 7fafeb6390
commit 17e9dcc922
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 5 deletions

View file

@ -1356,7 +1356,7 @@ RtlIsTextUnicode(CONST VOID* buf, INT len, INT* pf)
}
}
if (NlsMbCodePageTag)
if (NlsMbCodePageTag && pf && (*pf & IS_TEXT_UNICODE_DBCS_LEADBYTE))
{
for (i = 0; i < len; i++)
{
@ -1378,8 +1378,7 @@ RtlIsTextUnicode(CONST VOID* buf, INT len, INT* pf)
else
weight = 1;
if (pf && (*pf & IS_TEXT_UNICODE_DBCS_LEADBYTE))
out_flags |= IS_TEXT_UNICODE_DBCS_LEADBYTE;
out_flags |= IS_TEXT_UNICODE_DBCS_LEADBYTE;
}
}