Module Name: src
Committed By: christos
Date: Tue Aug 1 17:51:25 UTC 2023
Modified Files:
src/distrib/sets/lists/comp: mi
src/include: string.h
src/lib/libc: shlib_version
src/lib/libc/string: Makefile.inc memcpy.3
Added Files:
src/lib/libc/string: mempcpy.c
Log Message:
Add companion mempcpy to wmempcpy, bump.
To generate a diff of this commit:
cvs rdiff -u -r1.2440 -r1.2441 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.53 -r1.54 src/include/string.h
cvs rdiff -u -r1.294 -r1.295 src/lib/libc/shlib_version
cvs rdiff -u -r1.86 -r1.87 src/lib/libc/string/Makefile.inc
cvs rdiff -u -r1.13 -r1.14 src/lib/libc/string/memcpy.3
cvs rdiff -u -r0 -r1.1 src/lib/libc/string/mempcpy.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.2440 src/distrib/sets/lists/comp/mi:1.2441
--- src/distrib/sets/lists/comp/mi:1.2440 Tue Aug 1 02:35:55 2023
+++ src/distrib/sets/lists/comp/mi Tue Aug 1 13:51:24 2023
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.2440 2023/08/01 06:35:55 mrg Exp $
+# $NetBSD: mi,v 1.2441 2023/08/01 17:51:24 christos Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
./etc/mtree/set.comp comp-sys-root
@@ -9199,6 +9199,7 @@
./usr/share/man/cat3/memmem.0 comp-c-catman .cat
./usr/share/man/cat3/memmove.0 comp-c-catman .cat
./usr/share/man/cat3/memory.0 comp-c-catman .cat
+./usr/share/man/cat3/mempcpy.0 comp-c-catman .cat
./usr/share/man/cat3/memrchr.0 comp-c-catman .cat
./usr/share/man/cat3/memset.0 comp-c-catman .cat
./usr/share/man/cat3/menu_attributes.0 comp-c-catman .cat
@@ -17622,6 +17623,7 @@
./usr/share/man/html3/memmem.html comp-c-htmlman html
./usr/share/man/html3/memmove.html comp-c-htmlman html
./usr/share/man/html3/memory.html comp-c-htmlman html
+./usr/share/man/html3/mempcpy.html comp-c-htmlman html
./usr/share/man/html3/memrchr.html comp-c-htmlman html
./usr/share/man/html3/memset.html comp-c-htmlman html
./usr/share/man/html3/menu_attributes.html comp-c-htmlman html
@@ -26052,6 +26054,7 @@
./usr/share/man/man3/memmem.3 comp-c-man .man
./usr/share/man/man3/memmove.3 comp-c-man .man
./usr/share/man/man3/memory.3 comp-c-man .man
+./usr/share/man/man3/mempcpy.3 comp-c-man .man
./usr/share/man/man3/memrchr.3 comp-c-man .man
./usr/share/man/man3/memset.3 comp-c-man .man
./usr/share/man/man3/menu_attributes.3 comp-c-man .man
Index: src/include/string.h
diff -u src/include/string.h:1.53 src/include/string.h:1.54
--- src/include/string.h:1.53 Mon Aug 9 16:49:08 2021
+++ src/include/string.h Tue Aug 1 13:51:24 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: string.h,v 1.53 2021/08/09 20:49:08 andvar Exp $ */
+/* $NetBSD: string.h,v 1.54 2023/08/01 17:51:24 christos Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -106,6 +106,7 @@ char *strsep(char **, const char *);
char *stresep(char **, const char *, int);
char *strnstr(const char *, const char *, size_t);
void *memrchr(const void *, int, size_t);
+void *mempcpy(void * __restrict, const void * __restrict, size_t);
void *explicit_memset(void *, int, size_t);
int consttime_memequal(const void *, const void *, size_t);
__END_DECLS
Index: src/lib/libc/shlib_version
diff -u src/lib/libc/shlib_version:1.294 src/lib/libc/shlib_version:1.295
--- src/lib/libc/shlib_version:1.294 Sat Jul 1 20:52:04 2023
+++ src/lib/libc/shlib_version Tue Aug 1 13:51:24 2023
@@ -1,4 +1,4 @@
-# $NetBSD: shlib_version,v 1.294 2023/07/02 00:52:04 dholland Exp $
+# $NetBSD: shlib_version,v 1.295 2023/08/01 17:51:24 christos Exp $
# Remember to update distrib/sets/lists/base/shl.* when changing
#
# things we wish to do on next major version bump:
@@ -55,4 +55,4 @@
# - remove tzsetwall(3), upstream has removed it
# - move *rand48* to libcompat
major=12
-minor=220
+minor=221
Index: src/lib/libc/string/Makefile.inc
diff -u src/lib/libc/string/Makefile.inc:1.86 src/lib/libc/string/Makefile.inc:1.87
--- src/lib/libc/string/Makefile.inc:1.86 Mon Jul 31 13:38:28 2023
+++ src/lib/libc/string/Makefile.inc Tue Aug 1 13:51:25 2023
@@ -1,5 +1,5 @@
# from: @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
-# $NetBSD: Makefile.inc,v 1.86 2023/07/31 17:38:28 christos Exp $
+# $NetBSD: Makefile.inc,v 1.87 2023/08/01 17:51:25 christos Exp $
# string sources
.PATH: ${ARCHDIR}/string ${.CURDIR}/string
@@ -21,7 +21,7 @@ SRCS+= strncat.c strncmp.c strncpy.c str
SRCS+= strspn.c strstr.c swab.c strnstr.c
SRCS+= explicit_memset.c consttime_memequal.c
-SRCS+= memccpy.c memcpy.c memmem.c memmove.c
+SRCS+= memccpy.c memcpy.c memmem.c memmove.c mempcpy.c
SRCS+= strchr.c strrchr.c strchrnul.c
SRCS+= popcount32.c popcount64.c
@@ -67,6 +67,7 @@ MLINKS+=strstr.3 strcasestr.3
MLINKS+=strstr.3 strnstr.3
MLINKS+=strchr.3 strchrnul.3
MLINKS+=memchr.3 memrchr.3
+MLINKS+=memcpy.3 mempcpy.3
MLINKS+=strtok.3 strtok_r.3
MLINKS+=strerror.3 strerror_r.3 strerror.3 perror.3 \
strerror.3 strerror_l.3 \
Index: src/lib/libc/string/memcpy.3
diff -u src/lib/libc/string/memcpy.3:1.13 src/lib/libc/string/memcpy.3:1.14
--- src/lib/libc/string/memcpy.3:1.13 Mon Sep 8 13:54:33 2003
+++ src/lib/libc/string/memcpy.3 Tue Aug 1 13:51:25 2023
@@ -30,9 +30,9 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)memcpy.3 8.1 (Berkeley) 6/4/93
-.\" $NetBSD: memcpy.3,v 1.13 2003/09/08 17:54:33 wiz Exp $
+.\" $NetBSD: memcpy.3,v 1.14 2023/08/01 17:51:25 christos Exp $
.\"
-.Dd June 4, 1993
+.Dd August 1, 2023
.Dt MEMCPY 3
.Os
.Sh NAME
@@ -44,11 +44,15 @@
.In string.h
.Ft void *
.Fn memcpy "void * restrict dst" "const void * restrict src" "size_t len"
+.Ft void *
+.Fn mempcpy "void *restrict dst" "const void * restrict src" "size_t len"
.Sh DESCRIPTION
The
.Fn memcpy
-function
-copies
+and
+.Fn mempcpy
+functions
+copy
.Fa len
bytes from string
.Fa src
@@ -63,12 +67,17 @@ The
.Fn memcpy
function
returns the original value of
+.Pp
+The
+.Fn mempcpy
+function returns a pointer to the byte after the last written byte.
.Fa dst .
.Sh SEE ALSO
.Xr bcopy 3 ,
.Xr memccpy 3 ,
.Xr memmove 3 ,
-.Xr strcpy 3
+.Xr wmemcpy 3 ,
+.Xr wmempcpy 3
.Sh STANDARDS
The
.Fn memcpy
Added files:
Index: src/lib/libc/string/mempcpy.c
diff -u /dev/null src/lib/libc/string/mempcpy.c:1.1
--- /dev/null Tue Aug 1 13:51:25 2023
+++ src/lib/libc/string/mempcpy.c Tue Aug 1 13:51:25 2023
@@ -0,0 +1,37 @@
+/* $NetBSD: mempcpy.c,v 1.1 2023/08/01 17:51:25 christos Exp $ */
+
+/*-
+ * Copyright (c) 2023 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: mempcpy.c,v 1.1 2023/08/01 17:51:25 christos Exp $");
+
+#include <string.h>
+
+void *
+mempcpy(void *__restrict dst, const void *__restrict src, size_t len)
+{
+ return (char *)memcpy(dst, src, len) + len;
+}