From: Bruno Haible Date: Sun, 16 Jul 2023 05:30:22 +0000 (+0200) Subject: mbrtoc32: Optimize clearing an mbstate_t. X-Git-Tag: v1.0~1105 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=e00ed30ced5b3546eee89823c1ed70ec5c2dcaa7;p=gnulib.git mbrtoc32: Optimize clearing an mbstate_t. * lib/mbrtoc32.c (mbrtoc32): Use mbszero. * modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero. --- diff --git a/ChangeLog b/ChangeLog index e32eaf8ad4..058de1e2cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-07-16 Bruno Haible + + mbrtoc32: Optimize clearing an mbstate_t. + * lib/mbrtoc32.c (mbrtoc32): Use mbszero. + * modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero. + 2023-07-16 Bruno Haible mbtowc: Optimize clearing an mbstate_t. diff --git a/lib/mbrtoc32.c b/lib/mbrtoc32.c index 52bdde2482..558717d517 100644 --- a/lib/mbrtoc32.c +++ b/lib/mbrtoc32.c @@ -130,7 +130,7 @@ mbrtoc32 (char32_t *pwc, const char *s, size_t n, mbstate_t *ps) /* 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 diff --git a/modules/mbrtoc32 b/modules/mbrtoc32 index 061e8a7aec..7315fe1505 100644 --- a/modules/mbrtoc32 +++ b/modules/mbrtoc32 @@ -25,6 +25,8 @@ attribute [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1] 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]