NAME

SYNOPSIS

DESCRIPTION

The strdup() function allocates sufficient memory for a copy of the
string s, does the copy, and returns a pointer to it. The pointer may
subsequently be used as an argument to the function free(3). The
strndup() function copies at most n characters from the source string be-
fore appending a NUL byte.
If insufficient memory is available, NULL is returned.

EXAMPLES

The following will point p to an allocated area of memory containing the
NUL-terminated string "foobar":
char *p;
if ((p = strdup("foobar")) == NULL) {
fprintf(stderr, "Out of memory.\n");
exit(1);
}

ERRORS

The strdup() function may fail and set the external variable errno for
any of the errors specified for the library function malloc(3).