.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
+.\" %%%LICENSE_END
.\"
.\" References consulted:
.\" GNU glibc-2 source code and manual
.\"
.\" Corrected, aeb, 990824
-.TH STPNCPY 3 1999-07-25 "GNU" "Linux Programmer's Manual"
+.TH STPNCPY 3 2014-05-10 "GNU" "Linux Programmer's Manual"
.SH NAME
stpncpy \- copy a fixed-size string, returning a pointer to its end
.SH SYNOPSIS
.nf
-.B #define _GNU_SOURCE
-.br
.B #include <string.h>
.sp
.BI "char *stpncpy(char *" dest ", const char *" src ", size_t " n );
.fi
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.sp
+.BR stpncpy ():
+.PD 0
+.ad l
+.RS 4
+.TP 4
+Since glibc 2.10:
+_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
+.TP
+Before glibc 2.10:
+_GNU_SOURCE
+.RE
+.ad
+.PD
.SH DESCRIPTION
The
.BR stpncpy ()
-function copies at most \fIn\fP characters from the string
-pointed to by \fIsrc\fP, including the terminating \(aq\\0\(aq character,
-to the array pointed to by \fIdest\fP.
-Exactly \fIn\fP characters are written at
-\fIdest\fP.
-If the length \fIstrlen(src)\fP is smaller than \fIn\fP, the
-remaining characters in the array pointed to by \fIdest\fP are filled
-with \(aq\\0\(aq characters.
-If the length \fIstrlen(src)\fP is greater or equal to
-\fIn\fP, the string pointed to by \fIdest\fP will
-not be \(aq\\0\(aq terminated.
+function copies at most
+.I n
+characters from the string
+pointed to by
+.IR src ,
+including the terminating null byte (\(aq\\0\(aq),
+to the array pointed to by
+.IR dest .
+Exactly
+.I n
+characters are written at
+.IR dest .
+If the length
+.I strlen(src)
+is smaller than
+.IR n ,
+the
+remaining characters in the array pointed to by
+.I dest
+are filled
+with null bytes (\(aq\\0\(aq),
+If the length
+.I strlen(src)
+is greater than or equal to
+.IR n ,
+the string pointed to by
+.I dest
+will
+not be null-terminated.
.PP
The strings may not overlap.
.PP
-The programmer must ensure that there is room for at least \fIn\fP characters
-at \fIdest\fP.
-.SH "RETURN VALUE"
+The programmer must ensure that there is room for at least
+.I n
+characters
+at
+.IR dest .
+.SH RETURN VALUE
+.BR stpncpy ()
+returns a pointer to the terminating null byte
+in
+.IR dest ,
+or, if
+.I dest
+is not null-terminated,
+.IR dest + n .
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
.BR stpncpy ()
-returns a pointer to the terminating null
-in \fIdest\fP, or, if \fIdest\fP is not null-terminated,
-\fIdest + n\fP.
-.SH "CONFORMING TO"
-This function is a GNU extension.
-.SH "SEE ALSO"
+function is thread-safe.
+.SH CONFORMING TO
+This function was added to POSIX.1-2008.
+Before that, it was a GNU extension.
+It first appeared in version 1.07 of the GNU C library in 1993.
+.SH SEE ALSO
.BR strncpy (3),
-.BR wcpncpy (3),
-.BR feature_test_macros (7)
+.BR wcpncpy (3)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.