The
strdup ();
function
allocates sufficient memory for a copy
of the string
Fa str ,
does the copy, and returns a pointer to it.
The pointer may subsequently be used as an
argument to the function
free(3).
If insufficient memory is available, NULL is returned and
errno
is set to
Er ENOMEM .