strdupa (3)

STRDUP(3) Linux Programmer's Manual STRDUP(3) NAME strdup, strndup, strdupa, strndupa - duplicate a string SYNOPSIS #include <string.h> char *strdup(const char *s); char *strndup(const char *s, size_t n); char *strdupa(const char *s); char *strndupa(const char *s, size_t n); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): strdup(): _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500 strndup(), strdupa(), strndupa(): _GNU_SOURCE DESCRIPTION The strdup() function returns a pointer to a new string which is a duplicate of the string s. Memory for the new string is obtained with malloc(3), and can be freed with free(3). The strndup() function is similar, but only copies at most n charac- ters. If s is longer than n, only n characters are copied, and a ter- minating null byte ('\0') is added. strdupa() and strndupa() are similar, but use alloca(3) to allocate the buffer. They are only available when using the GNU GCC suite, and suf- fer from the same limitations described in alloca(3). RETURN VALUE The strdup() function returns a pointer to the duplicated string, or NULL if insufficient memory was available. ERRORS ENOMEM Insufficient memory available to allocate duplicate string. CONFORMING TO strdup() conforms to SVr4, 4.3BSD, POSIX.1-2001. strndup(), strdupa(), and strndupa() are GNU extensions. SEE ALSO alloca(3), calloc(3), free(3), malloc(3), realloc(3), wcsdup(3) GNU 2007-07-26 STRDUP(3)