.Os
.Sh NAME
.Nm memcpy
-.Nd copy byte string
+.Nd copy memory area
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In string.h
.Ft void *
-.Fn memcpy "void *dst" "const void *src" "size_t len"
+.Fo memcpy
+.Fa "void *restrict dst"
+.Fa "const void *restrict src"
+.Fa "size_t n"
+.Fc
.Sh DESCRIPTION
The
.Fn memcpy
function
copies
-.Fa len
-bytes from string
+.Fa n
+bytes from memory area
.Fa src
-to string
+to memory area
.Fa dst .
+If
+.Fa dst
+and
+.Fa src
+overlap, behavior is undefined.
+Applications in which
+.Fa dst
+and
+.Fa src
+might overlap should use
+.Xr memmove 3
+instead.
.Sh RETURN VALUES
The
.Fn memcpy
function
conforms to
.St -isoC .
-.Sh BUGS
-In this implementation
-.Fn memcpy
-is implemented using
-.Xr bcopy 3 ,
-and therefore the strings may overlap.
-On other systems, copying overlapping strings may produce surprises.
-Programs intended to be portable should use
-.Xr memmove 3
-when
-.Fa src
-and
-.Fa dst
-may overlap.