From eb8dd9dca1228af0cd132f515509051ecfabf6f6 Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Mon, 14 Apr 2025 17:32:06 +0000 Subject: This commit was manufactured by cvs2git to create tag 'tb_20250414'. --- src/lib/libc/string/strncpy.3 | 138 ------------------------------------------ 1 file changed, 138 deletions(-) delete mode 100644 src/lib/libc/string/strncpy.3 (limited to 'src/lib/libc/string/strncpy.3') diff --git a/src/lib/libc/string/strncpy.3 b/src/lib/libc/string/strncpy.3 deleted file mode 100644 index 3a68a0bd5b..0000000000 --- a/src/lib/libc/string/strncpy.3 +++ /dev/null @@ -1,138 +0,0 @@ -.\" $OpenBSD: strncpy.3,v 1.2 2014/04/19 11:30:40 deraadt Exp $ -.\" -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" 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. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. -.\" -.Dd $Mdocdate: April 19 2014 $ -.Dt STRNCPY 3 -.Os -.Sh NAME -.Nm strncpy -.Nd copy part of a string to another -.Sh SYNOPSIS -.In string.h -.Ft char * -.Fn strncpy "char *dst" "const char *src" "size_t len" -.Sh DESCRIPTION -The -.Fn strncpy -function copies not more than -.Fa len -characters from the string -.Fa src -to the buffer -.Fa dst . -If -.Fa src -is less than -.Fa len -characters long, -it fills the remaining buffer with -.Ql \e0 -characters. -If the length of -.Fa src -is greater than or equal to -.Fa len , -.Fa dst -will -.Em not -be NUL-terminated. -.Pp -.Fn strncpy -.Em only -NUL terminates the destination string when the length of the source -string is less than the length parameter. -.Pp -If the -.Fa src -and -.Fa dst -strings overlap, the behavior is undefined. -.Sh RETURN VALUES -The -.Fn strncpy -function returns -.Fa dst . -.Sh EXAMPLES -The following sets -.Va chararray -to -.Dq abc\e0\e0\e0 : -.Bd -literal -offset indent -(void)strncpy(chararray, "abc", 6); -.Ed -.Pp -The following sets -.Va chararray -to -.Dq abcdef , -without a NUL-terminator: -.Bd -literal -offset indent -(void)strncpy(chararray, "abcdefgh", 6); -.Ed -.Pp -The following sequence copies as many characters from -.Va input -to -.Va buf -as will fit, and then NUL terminates the result by hand: -.Bd -literal -offset indent -char buf[BUFSIZ]; - -(void)strncpy(buf, input, sizeof(buf) - 1); -buf[sizeof(buf) - 1] = '\e0'; -.Ed -.Pp -By now it is clear that -.Nm strncpy -is dangerously easy to misuse. -The -.Xr strlcpy 3 -function is safer for this kind of operation: -.Bd -literal -offset indent -if (strlcpy(buf, input, sizeof(buf)) >= sizeof(buf)) - goto toolong; -.Ed -.Sh SEE ALSO -.Xr strlcpy 3 , -.Xr wcscpy 3 , -.Xr wcslcpy 3 -.Sh STANDARDS -The -.Fn strncpy -function conforms to -.St -ansiC . -.Sh HISTORY -The -.Fn strncpy -function first appeared in -.At v7 . -- cgit v1.2.3-55-g6feb