From 948151dcf1e1a55076831493eddd67e0d5b8e8b8 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 16 Jul 2023 07:30:48 +0200 Subject: [PATCH] mbfile: Optimize clearing an mbstate_t. * lib/mbfile.h (mbfile_multi_getc, mbf_init): Use mbszero. * modules/mbfile (Depends-on): Add mbszero. --- ChangeLog | 6 ++++++ lib/mbfile.h | 4 ++-- modules/mbfile | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdebe0b769..946725e139 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-07-16 Bruno Haible + + 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 mbuiter: Optimize clearing an mbstate_t. diff --git a/lib/mbfile.h b/lib/mbfile.h index 74d4986577..dccdedb03c 100644 --- a/lib/mbfile.h +++ b/lib/mbfile.h @@ -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)) diff --git a/modules/mbfile b/modules/mbfile index c446e37e17..af3674ea79 100644 --- a/modules/mbfile +++ b/modules/mbfile @@ -12,6 +12,7 @@ extern-inline mbchar mbrtowc mbsinit +mbszero wchar stdbool -- 2.39.5