Loading...
string/FreeBSD/strcpy.3 Libc-825.26 Libc-763.13
--- Libc/Libc-825.26/string/FreeBSD/strcpy.3
+++ Libc/Libc-763.13/string/FreeBSD/strcpy.3
@@ -43,27 +43,13 @@
 .Sh SYNOPSIS
 .In string.h
 .Ft char *
-.Fo stpcpy
-.Fa "char *s1"
-.Fa "const char *s2"
-.Fc
-.Ft char *
-.Fo stpncpy
-.Fa "char *restrict s1"
-.Fa "const char *restrict s2"
-.Fa "size_t n"
-.Fc
-.Ft char *
-.Fo strcpy
-.Fa "char *restrict s1"
-.Fa "const char *restrict s2"
-.Fc
-.Ft char *
-.Fo strncpy
-.Fa "char *restrict s1"
-.Fa "const char *restrict s2"
-.Fa "size_t n"
-.Fc
+.Fn stpcpy "char * restrict dst" "const char * restrict src"
+.Ft char *
+.Fn stpncpy "char * restrict dst" "const char * restrict src" "size_t len"
+.Ft char *
+.Fn strcpy "char * restrict dst" "const char * restrict src"
+.Ft char *
+.Fn strncpy "char * restrict dst" "const char * restrict src" "size_t len"
 .Sh DESCRIPTION
 The
 .Fn stpcpy
@@ -71,41 +57,38 @@
 .Fn strcpy
 functions
 copy the string
-.Fa s2
-to
-.Fa s1
+.Fa src
+to
+.Fa dst
 (including the terminating
 .Ql \e0
-character).
+character.)
 .Pp
 The
 .Fn stpncpy
 and
 .Fn strncpy
 functions copy at most
-.Fa n
+.Fa len
 characters from
-.Fa s2
+.Fa src
 into
-.Fa s1 .
+.Fa dst .
 If
-.Fa s2
+.Fa src
 is less than
-.Fa n
+.Fa len
 characters long,
 the remainder of
-.Fa s1
+.Fa dst
 is filled with
 .Ql \e0
 characters.
 Otherwise,
-.Fa s1
+.Fa dst
 is
 .Em not
 terminated.
-.Pp
-The source and destination strings should not overlap, as the
-behavior is undefined.
 .Sh RETURN VALUES
 The
 .Fn strcpy
@@ -113,7 +96,7 @@
 .Fn strncpy
 functions
 return
-.Fa s1 .
+.Fa dst .
 The
 .Fn stpcpy
 and
@@ -121,15 +104,15 @@
 functions return a pointer to the terminating
 .Ql \e0
 character of
-.Fa s1 .
+.Fa dst .
 If
 .Fn stpncpy
 does not terminate
-.Fa s1
+.Fa dst
 with a
 .Dv NUL
 character, it instead returns a pointer to
-.Li s1[n]
+.Li dst[n]
 (which does not necessarily refer to a valid memory location.)
 .Sh EXAMPLES
 The following sets
@@ -156,7 +139,7 @@
 .Em not
 .Tn NUL
 terminate
-.Va chararray ,
+.Va chararray
 because the length of the source string is greater than or equal
 to the length argument.
 .Pp
@@ -186,26 +169,21 @@
 as shown in the following example:
 .Pp
 .Dl "(void)strlcpy(buf, input, sizeof(buf));"
+.Pp
+Note that because
+.Xr strlcpy 3
+is not defined in any standards, it should
+only be used when portability is not a concern.
 .Sh SECURITY CONSIDERATIONS
 The
-.Fn strcpy ,
-.Fn strncpy ,
-.Fn stpcpy ,
-and
-.Fn stpncpy
-functions are easily misused in a manner which enables malicious users
+.Fn strcpy
+function is easily misused in a manner which enables malicious users
 to arbitrarily change a running program's functionality through a
 buffer overflow attack.
 (See
 the FSA
 and
 .Sx EXAMPLES . )
-.Pp
-It is recommended that
-.Xr strlcpy 3
-be used instead as a way to avoid such problems.
-.Xr strlcpy 3
-is not defined in any standards, but it has been adopted by most major libc implementations.
 .Sh SEE ALSO
 .Xr bcopy 3 ,
 .Xr memccpy 3 ,