OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man3 / strdup.3
index ed8fc9e..843ccd7 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" References consulted:
 .\"     Linux libc source code
@@ -26,7 +28,7 @@
 .\"     386BSD man pages
 .\" Modified Sun Jul 25 10:41:34 1993 by Rik Faith (faith@cs.unc.edu)
 .\" Modified Wed Oct 17 01:12:26 2001 by John Levon <moz@compsoc.man.ac.uk>
-.TH STRDUP 3  2010-09-26 "GNU" "Linux Programmer's Manual"
+.TH STRDUP 3  2013-04-19 "GNU" "Linux Programmer's Manual"
 .SH NAME
 strdup, strndup, strdupa, strndupa \- duplicate a string
 .SH SYNOPSIS
@@ -61,7 +63,7 @@ _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 .RS 4
 .TP 4
 Since glibc 2.10:
-POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700
+_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700
 .TP
 Before glibc 2.10:
 _GNU_SOURCE
@@ -76,7 +78,8 @@ _GNU_SOURCE
 The
 .BR strdup ()
 function returns a pointer to a new string which
-is a duplicate of the string \fIs\fP.
+is a duplicate of the string
+.IR s .
 Memory for the new string is
 obtained with
 .BR malloc (3),
@@ -85,10 +88,16 @@ and can be freed with
 
 The
 .BR strndup ()
-function is similar, but only copies at most
-\fIn\fP characters.
-If \fIs\fP is longer than \fIn\fP, only \fIn\fP
-characters are copied, and a terminating null byte (\(aq\\0\(aq) is added.
+function is similar, but copies at most
+.I n
+bytes.
+If
+.I s
+is longer than
+.IR n ,
+only
+.I n
+bytes are copied, and a terminating null byte (\(aq\\0\(aq) is added.
 
 .BR strdupa ()
 and
@@ -96,28 +105,32 @@ and
 are similar, but use
 .BR alloca (3)
 to allocate the buffer.
-They are only available when using the GNU
+They are available only when using the GNU
 GCC suite, and suffer from the same limitations described in
 .BR alloca (3).
-.SH "RETURN VALUE"
-The
+.SH RETURN VALUE
+On success, the
 .BR strdup ()
 function returns a pointer to the duplicated
-string, or NULL if insufficient memory was available.
+string.
+It returns NULL if insufficient memory was available, with
+.I errno
+set to indicate the cause of the error.
 .SH ERRORS
 .TP
 .B ENOMEM
 Insufficient memory available to allocate duplicate string.
-.SH "CONFORMING TO"
+.SH CONFORMING TO
 .\" 4.3BSD-Reno, not (first) 4.3BSD.
 .BR strdup ()
 conforms to SVr4, 4.3BSD, POSIX.1-2001.
-.BR strndup (),
-.BR strdupa (),
+.BR strndup ()
+conforms to POSIX.1-2008.
+.BR strdupa ()
 and
 .BR strndupa ()
 are GNU extensions.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR alloca (3),
 .BR calloc (3),
 .BR free (3),
@@ -125,3 +138,12 @@ are GNU extensions.
 .BR realloc (3),
 .BR string (3),
 .BR wcsdup (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/.