* lib/mbrtoc32.c (mbrtoc32): Use mbszero.
* modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero.
+2023-07-16 Bruno Haible <bruno@clisp.org>
+
+ mbrtoc32: Optimize clearing an mbstate_t.
+ * lib/mbrtoc32.c (mbrtoc32): Use mbszero.
+ * modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero.
+
2023-07-16 Bruno Haible <bruno@clisp.org>
mbtowc: Optimize clearing an mbstate_t.
/* Verify that mbrtoc32 is regular. */
if (ret < (size_t) -3 && ! mbsinit (ps))
/* This occurs on glibc 2.36. */
- memset (ps, '\0', sizeof (mbstate_t));
+ mbszero (ps);
if (ret == (size_t) -3)
abort ();
# endif
c99 [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
hard-locale [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
mbrtowc [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
+mbsinit [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
+mbszero [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
assert-h [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
localcharset [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
streq [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]