msvcrt: Set sname_match in locale_to_sname when returning cached result.

This commit is contained in:
Piotr Caban 2023-07-21 17:44:02 +02:00 committed by Alexandre Julliard
parent f93f31dec5
commit 4a4f138fe9
2 changed files with 5 additions and 2 deletions

View file

@ -341,8 +341,9 @@ BOOL locale_to_sname(const char *locale, unsigned short *codepage, BOOL *sname_m
if (!strcmp(locale, data->cached_locale)) {
if (codepage)
*codepage = data->cached_cp;
if (sname)
wcsncpy(sname, data->cached_sname, sname_size);
if (sname_match)
*sname_match = data->cached_sname_match;
wcsncpy(sname, data->cached_sname, sname_size);
return TRUE;
}
@ -441,6 +442,7 @@ BOOL locale_to_sname(const char *locale, unsigned short *codepage, BOOL *sname_m
if (strlen(locale) < sizeof(data->cached_locale)) {
strcpy(data->cached_locale, locale);
data->cached_cp = locale_cp;
data->cached_sname_match = is_sname;
wcscpy(data->cached_sname, sname);
}

View file

@ -170,6 +170,7 @@ struct __thread_data {
int processing_throw;
frame_info *frame_info_head;
void *unk8[6];
BOOL cached_sname_match;
WCHAR cached_sname[LOCALE_NAME_MAX_LENGTH];
int unk9[2];
DWORD cached_cp;