From d2336bead565991dbb8f9f042602358cce248ed6 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 26 Aug 2025 17:04:14 +0300 Subject: [PATCH] [MSVCRT] Fix a bug in _wctomb_l Fixes crash in msvcrt_apitest:wctomb --- dll/win32/msvcrt/wcs.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dll/win32/msvcrt/wcs.c b/dll/win32/msvcrt/wcs.c index af9da19d8d7..a7dbb59d11c 100644 --- a/dll/win32/msvcrt/wcs.c +++ b/dll/win32/msvcrt/wcs.c @@ -2147,8 +2147,17 @@ int CDECL wctomb_s(int *len, char *mbchar, size_t size, wchar_t wch) int CDECL _wctomb_l(char *dst, wchar_t ch, _locale_t locale) { int len; - +#ifdef __REACTOS__ + int maxlen; + if (locale) + maxlen = locale->locinfo->mb_cur_max; + else + maxlen = get_locinfo()->mb_cur_max; + if (_wctomb_s_l(&len, dst, maxlen, ch, locale) != 0) + return -1; +#else _wctomb_s_l(&len, dst, dst ? MB_LEN_MAX : 0, ch, locale); +#endif return len; }