From 9361a40337e7d5b88e7e623b892abc1176dc7da5 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 24 Dec 2024 11:23:45 +0100 Subject: [PATCH] wchar: Support several gnulib-tool invocations better. * lib/wchar.in.h (_GL_ALREADY_INCLUDING_WCHAR_H): Rename to a macro that depends on GUARD_PREFIX. (mbszero): Avoid duplicate definition. --- ChangeLog | 7 +++++++ lib/wchar.in.h | 15 +++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index e51329096c..66cffa6db3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2024-12-24 Bruno Haible + + wchar: Support several gnulib-tool invocations better. + * lib/wchar.in.h (_GL_ALREADY_INCLUDING_WCHAR_H): Rename to a macro that + depends on GUARD_PREFIX. + (mbszero): Avoid duplicate definition. + 2024-12-24 Bruno Haible threads-h: Support several gnulib-tool invocations better. diff --git a/lib/wchar.in.h b/lib/wchar.in.h index 6bbc31da88..e5e92a1d10 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -37,7 +37,7 @@ && !defined _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H) \ || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \ || (defined __MINGW32__ && defined __STRING_H_SOURCED__) \ - || defined _GL_ALREADY_INCLUDING_WCHAR_H) + || defined _@GUARD_PREFIX@_ALREADY_INCLUDING_WCHAR_H) /* Special invocation convention: - Inside glibc and uClibc header files, but not MinGW. - On HP-UX 11.00 we have a sequence of nested includes @@ -59,7 +59,7 @@ #ifndef _@GUARD_PREFIX@_WCHAR_H -#define _GL_ALREADY_INCLUDING_WCHAR_H +#define _@GUARD_PREFIX@_ALREADY_INCLUDING_WCHAR_H #if @HAVE_FEATURES_H@ # include /* for __GLIBC__ */ @@ -79,7 +79,7 @@ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ #endif -#undef _GL_ALREADY_INCLUDING_WCHAR_H +#undef _@GUARD_PREFIX@_ALREADY_INCLUDING_WCHAR_H #ifndef _@GUARD_PREFIX@_WCHAR_H #define _@GUARD_PREFIX@_WCHAR_H @@ -531,16 +531,19 @@ _GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - " # define _GL_MBSTATE_ZERO_SIZE sizeof (mbstate_t) # endif _GL_BEGIN_C_LINKAGE -# if defined IN_MBSZERO +# if !GNULIB_defined_mbszero +# if defined IN_MBSZERO _GL_EXTERN_INLINE -# else +# else _GL_INLINE -# endif +# endif _GL_ARG_NONNULL ((1)) void mbszero (mbstate_t *ps) { memset (ps, 0, _GL_MBSTATE_ZERO_SIZE); } +# define GNULIB_defined_mbszero 1 +# endif _GL_END_C_LINKAGE _GL_CXXALIAS_SYS (mbszero, void, (mbstate_t *ps)); _GL_CXXALIASWARN (mbszero); -- 2.39.5