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

ChangeLog
lib/mbfile.h
modules/mbfile

index bdebe0b769c806fcc9c5bdd6347e22888e7d918b..946725e139d42063b08a8652eff31fa4310715f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-07-16  Bruno Haible  <bruno@clisp.org>
+
+       mbfile: Optimize clearing an mbstate_t.
+       * lib/mbfile.h (mbfile_multi_getc, mbf_init): Use mbszero.
+       * modules/mbfile (Depends-on): Add mbszero.
+
 2023-07-16  Bruno Haible  <bruno@clisp.org>
 
        mbuiter: Optimize clearing an mbstate_t.
index 74d49865773557d9df25ee370b955478cb6e56e4..dccdedb03ca25bff5b7279b983412dc70302c690 100644 (file)
@@ -150,7 +150,7 @@ mbfile_multi_getc (struct mbchar *mbc, struct mbfile_multi *mbf)
           bytes = 1;
           mbc->wc_valid = false;
           /* Allow the next invocation to continue from a sane state.  */
-          memset (&mbf->state, '\0', sizeof (mbstate_t));
+          mbszero (&mbf->state);
           break;
         }
       else if (bytes == (size_t) -2)
@@ -244,7 +244,7 @@ typedef mbchar_t mbf_char_t;
   ((mbf).fp = (stream),                                                 \
    (mbf).eof_seen = false,                                              \
    (mbf).have_pushback = false,                                         \
-   memset (&(mbf).state, '\0', sizeof (mbstate_t)),                     \
+   mbszero (&(mbf).state),                                              \
    (mbf).bufcount = 0)
 
 #define mbf_getc(mbc, mbf) mbfile_multi_getc (&(mbc), &(mbf))
index c446e37e178e1ed830741876bfa9622c27ecfed8..af3674ea7907711cf5662247a50ce2848d7fd353 100644 (file)
@@ -12,6 +12,7 @@ extern-inline
 mbchar
 mbrtowc
 mbsinit
+mbszero
 wchar
 stdbool