* lib/mbrtoc32.c (mbrtoc32): If necessary, clear the mbstate_t after
mbrtowc() returned.
+2023-08-16 Bruno Haible <bruno@clisp.org>
+
+ mbrtoc32-regular: Make it work as expected on glibc 2.12.
+ * lib/mbrtoc32.c (mbrtoc32): If necessary, clear the mbstate_t after
+ mbrtowc() returned.
+
2023-08-16 Bruno Haible <bruno@clisp.org>
fnmatch: Override fnmatch from glibc versions < 2.22.
/* char32_t and wchar_t are equivalent. Use mbrtowc(). */
wchar_t wc;
size_t ret = mbrtowc (&wc, s, n, ps);
+
+# if GNULIB_MBRTOC32_REGULAR
+ /* Ensure that mbrtoc32 is regular. */
+ if (ret < (size_t) -2 && ! mbsinit (ps))
+ /* This occurs on glibc 2.12. */
+ mbszero (ps);
+# endif
+
# if GL_CHAR32_T_IS_UNICODE && GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
if (ret < (size_t) -2 && wc != 0)
{