]> Savannah Git Hosting - gnulib.git/commitdiff
mbrtoc32: Optimize clearing an mbstate_t.
authorBruno Haible <bruno@clisp.org>
Sun, 16 Jul 2023 05:30:22 +0000 (07:30 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 16 Jul 2023 08:29:18 +0000 (10:29 +0200)
* lib/mbrtoc32.c (mbrtoc32): Use mbszero.
* modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero.

ChangeLog
lib/mbrtoc32.c
modules/mbrtoc32

index e32eaf8ad4b881f34eff85ee6aa7b2bf245fafc1..058de1e2cd59e6fa8e38d6f58a8f9cc3bf80e608 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
index 52bdde2482cb9a656b1cc7e363ccba33d5354308..558717d517db7f69d4ccac350e68d3aec69c29f6 100644 (file)
@@ -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
index 061e8a7aecb7ecc7ab860e188421ac770d65af4e..7315fe15059814aa7b727d2a031c80f10567d7b1 100644 (file)
@@ -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]