Fixing mbrtoc32 reported here: https://sourceforge.net/p/mingw-w64/bugs/957/
Bad array index in function implementation. Costas
From d48a1e302ccd8de735b8129b2e212adb8e2fbc78 Mon Sep 17 00:00:00 2001 From: Costas Argyris <[email protected]> Date: Sun, 19 Mar 2023 01:01:42 +0000 Subject: [PATCH] Fix mbrtoc32 function. As mentioned in https://sourceforge.net/p/mingw-w64/bugs/957/ this function returns the wrong value. After correcting the bad array index the result is correct. --- mingw-w64-crt/misc/uchar_mbrtoc32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-crt/misc/uchar_mbrtoc32.c b/mingw-w64-crt/misc/uchar_mbrtoc32.c index 1d63e5ceb..825fc5268 100644 --- a/mingw-w64-crt/misc/uchar_mbrtoc32.c +++ b/mingw-w64-crt/misc/uchar_mbrtoc32.c @@ -62,7 +62,7 @@ size_t mbrtoc32 (char32_t *__restrict__ pc32, if (n < 4) return (size_t)-2; - *pc32 = ((s[0] & 7) << 18) | ((s[1] & 63) << 12) | ((s[2] & 63) << 6) | (s[4] & 63); + *pc32 = ((s[0] & 7) << 18) | ((s[1] & 63) << 12) | ((s[2] & 63) << 6) | (s[3] & 63); return 4; } -- 2.30.2
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
