Module Name:    src
Committed By:   nia
Date:           Fri Nov  1 16:36:58 UTC 2024

Modified Files:
        src/include: string.h wchar.h
        src/lib/libc/string: memmem.3 strlcpy.3 wmemchr.3

Log Message:
libc: Expose some newly-standard C functions in POSIX.1-2024 mode


To generate a diff of this commit:
cvs rdiff -u -r1.54 -r1.55 src/include/string.h
cvs rdiff -u -r1.45 -r1.46 src/include/wchar.h
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/string/memmem.3
cvs rdiff -u -r1.21 -r1.22 src/lib/libc/string/strlcpy.3
cvs rdiff -u -r1.18 -r1.19 src/lib/libc/string/wmemchr.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/include/string.h
diff -u src/include/string.h:1.54 src/include/string.h:1.55
--- src/include/string.h:1.54	Tue Aug  1 17:51:24 2023
+++ src/include/string.h	Fri Nov  1 16:36:58 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: string.h,v 1.54 2023/08/01 17:51:24 christos Exp $	*/
+/*	$NetBSD: string.h,v 1.55 2024/11/01 16:36:58 nia Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993
@@ -94,14 +94,23 @@ __aconst char *strsignal(int);
 #endif
 __END_DECLS
 
+/*
+ * IEEE Std 1003.1-2024 (POSIX.1-2024)
+ */
+#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
+    defined(_NETBSD_SOURCE)
+__BEGIN_DECLS
+void	*memmem(const void *, size_t, const void *, size_t);
+size_t	 strlcat(char *, const char *, size_t);
+size_t	 strlcpy(char *, const char *, size_t);
+__END_DECLS
+#endif
+
 #if defined(_NETBSD_SOURCE)
 #include <strings.h>		/* for backwards-compatibility */
 __BEGIN_DECLS
-void	*memmem(const void *, size_t, const void *, size_t);
 char	*strcasestr(const char *, const char *);
 char	*strchrnul(const char *, int);
-size_t	 strlcat(char *, const char *, size_t);
-size_t	 strlcpy(char *, const char *, size_t);
 char	*strsep(char **, const char *);
 char	*stresep(char **, const char *, int);
 char	*strnstr(const char *, const char *, size_t);

Index: src/include/wchar.h
diff -u src/include/wchar.h:1.45 src/include/wchar.h:1.46
--- src/include/wchar.h:1.45	Mon Jul 31 17:38:28 2023
+++ src/include/wchar.h	Fri Nov  1 16:36:58 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: wchar.h,v 1.45 2023/07/31 17:38:28 christos Exp $	*/
+/*	$NetBSD: wchar.h,v 1.46 2024/11/01 16:36:58 nia Exp $	*/
 
 /*-
  * Copyright (c)1999 Citrus Project,
@@ -134,7 +134,11 @@ wchar_t	*wmempcpy(wchar_t * __restrict, 
 wchar_t	*wmemmove(wchar_t *, const wchar_t *, size_t);
 wchar_t	*wmemset(wchar_t *, wchar_t, size_t);
 
-#if defined(_NETBSD_SOURCE)
+/*
+ * IEEE Std 1003.1-2024 (POSIX.1-2024)
+ */
+#if (_POSIX_C_SOURCE - 0) >= 202405L || (_XOPEN_SOURCE - 0 >= 800) || \
+    defined(_NETBSD_SOURCE)
 size_t	wcslcat(wchar_t *, const wchar_t *, size_t);
 size_t	wcslcpy(wchar_t *, const wchar_t *, size_t);
 #endif

Index: src/lib/libc/string/memmem.3
diff -u src/lib/libc/string/memmem.3:1.3 src/lib/libc/string/memmem.3:1.4
--- src/lib/libc/string/memmem.3:1.3	Wed Apr 30 13:10:51 2008
+++ src/lib/libc/string/memmem.3	Fri Nov  1 16:36:58 2024
@@ -1,4 +1,4 @@
-.\"	$NetBSD: memmem.3,v 1.3 2008/04/30 13:10:51 martin Exp $
+.\"	$NetBSD: memmem.3,v 1.4 2024/11/01 16:36:58 nia Exp $
 .\"
 .\" Copyright (c) 2005 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd March 12, 2005
+.Dd November 1, 2024
 .Dt MEMMEM 3
 .Os
 .Sh NAME
@@ -74,11 +74,9 @@ is deemed to match the start of the stri
 .Xr strstr 3
 .Sh STANDARDS
 The
-.Fn memmem
-function is not currently standardized.
-However, it is meant to be API compatible with functions in
-.Fx
-and Linux.
+.Nm
+function conforms to
+.St -p1003.1-2024 .
 .Sh HISTORY
 .Fn memmem
 first appeared in the Free Software Foundation's glibc library.

Index: src/lib/libc/string/strlcpy.3
diff -u src/lib/libc/string/strlcpy.3:1.21 src/lib/libc/string/strlcpy.3:1.22
--- src/lib/libc/string/strlcpy.3:1.21	Fri Aug 11 21:30:32 2023
+++ src/lib/libc/string/strlcpy.3	Fri Nov  1 16:36:58 2024
@@ -1,4 +1,4 @@
-.\"	$NetBSD: strlcpy.3,v 1.21 2023/08/11 21:30:32 riastradh Exp $
+.\"	$NetBSD: strlcpy.3,v 1.22 2024/11/01 16:36:58 nia Exp $
 .\" from OpenBSD: strlcpy.3,v 1.11 2000/11/16 23:27:41 angelos Exp
 .\"
 .\" Copyright (c) 1998, 2000 Todd C. Miller <todd.mil...@courtesan.com>
@@ -26,7 +26,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 11, 2023
+.Dd November 1, 2024
 .Dt STRLCPY 3
 .Os
 .Sh NAME
@@ -250,6 +250,13 @@ and
 .%D June 6-11, 1999
 .%U http://www.usenix.org/publications/library/proceedings/usenix99/full_papers/millert/millert.pdf
 .Re
+.Sh STANDARDS
+The
+.Fn strlcpy
+and
+.Fn strlcat
+functions conform to
+.St -p1003.1-2024 .
 .Sh HISTORY
 The
 .Fn strlcpy

Index: src/lib/libc/string/wmemchr.3
diff -u src/lib/libc/string/wmemchr.3:1.18 src/lib/libc/string/wmemchr.3:1.19
--- src/lib/libc/string/wmemchr.3:1.18	Mon Jul 31 17:38:28 2023
+++ src/lib/libc/string/wmemchr.3	Fri Nov  1 16:36:58 2024
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wmemchr.3,v 1.18 2023/07/31 17:38:28 christos Exp $
+.\"	$NetBSD: wmemchr.3,v 1.19 2024/11/01 16:36:58 nia Exp $
 .\"
 .\" Copyright (c) 1990, 1991, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -206,10 +206,14 @@ function conforms to
 .St -p1003.1-2008 .
 .Pp
 The
-.Fn wcslcat ,
-.Fn wcslcpy
+.Fn wcslcat
 and
+.Fn wcslcpy
+functions conform to
+.St -p1003.1-2024 .
+.Pp
+The
 .Fn wmempcpy
-functions are
+function is a
 .Nx
-extensions.
+extension.

Reply via email to