Re: [PATCH v2 1/2] libc: Make string.h POSIX.1-2024 compliant

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On Nov 15 00:26, Simon Barth wrote:
> POSIX.1-2024 added strlcpy, strlcat, and memmem to strings.h. Previously
> these functions were only available as parts of BSD or GNU extensions.
> 
> Fix the header so that the symbol are visible for either the right
> extensions, or for POSIX.1-2024.
> ---
>  newlib/libc/include/string.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/newlib/libc/include/string.h b/newlib/libc/include/string.h
> index 32199c027..3e66ec3dd 100644
> --- a/newlib/libc/include/string.h
> +++ b/newlib/libc/include/string.h
> @@ -68,10 +68,12 @@ void *	 memccpy (void *__restrict, const void *__restrict, int, size_t);
>  #endif
>  #if __GNU_VISIBLE
>  void *	 mempcpy (void *, const void *, size_t);
> -void *	 memmem (const void *, size_t, const void *, size_t);
>  void *	 memrchr (const void *, int, size_t);
>  void *	 rawmemchr (const void *, int);
>  #endif
> +#if __GNU_VISIBLE || __POSIX_VISIBLE >= 202405
> +void *	 memmem (const void *, size_t, const void *, size_t);
> +#endif
>  #if __POSIX_VISIBLE >= 200809
>  char 	*stpcpy (char *__restrict, const char *__restrict);
>  char 	*stpncpy (char *__restrict, const char *__restrict, size_t);
> @@ -111,7 +113,7 @@ int	__xpg_strerror_r (int, char *, size_t);
>  /* Reentrant version of strerror.  */
>  char *	_strerror_r (struct _reent *, int, int, int *);
>  
> -#if __BSD_VISIBLE
> +#if __BSD_VISIBLE || __POSIX_VISIBLE >= 202405L
>  size_t	strlcat (char *, const char *, size_t);
>  size_t	strlcpy (char *, const char *, size_t);
>  #endif
> -- 
> 2.51.2

I pushed this patch as is, but if you follow up with another patch
removing the guards, that would be fine.

Thanks,
Corinna
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.