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.