* private.h (ATTRIBUTE_NONSTRING): New macro. * localtime.c (tzdirslash) [!OPENAT_TZDIR]: Use it. --- localtime.c | 3 +++ private.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/localtime.c b/localtime.c index 186c7bf3..8ef529d5 100644 --- a/localtime.c +++ b/localtime.c @@ -571,6 +571,9 @@ union input_buffer { }; /* TZDIR with a trailing '/'. It is null-terminated if OPENAT_TZDIR. */ +#if !OPENAT_TZDIR +ATTRIBUTE_NONSTRING +#endif static char const tzdirslash[sizeof TZDIR + OPENAT_TZDIR] = TZDIR "/"; static size_t const tzdirslashlen = sizeof TZDIR; diff --git a/private.h b/private.h index 867340fa..23f1d9fb 100644 --- a/private.h +++ b/private.h @@ -555,6 +555,12 @@ typedef unsigned long uintmax_t; # define HAVE___HAS_C_ATTRIBUTE false #endif +#if 8 <= __GNUC__ +# define ATTRIBUTE_NONSTRING __attribute__((__nonstring__)) +#else +# define ATTRIBUTE_NONSTRING +#endif + #if HAVE___HAS_C_ATTRIBUTE # if __has_c_attribute(deprecated) # define ATTRIBUTE_DEPRECATED [[deprecated]] -- 2.51.0