From e00ed30ced5b3546eee89823c1ed70ec5c2dcaa7 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 16 Jul 2023 07:30:22 +0200 Subject: [PATCH] mbrtoc32: Optimize clearing an mbstate_t. * lib/mbrtoc32.c (mbrtoc32): Use mbszero. * modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero. --- ChangeLog | 6 ++++++ lib/mbrtoc32.c | 2 +- modules/mbrtoc32 | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) 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] -- 2.39.5