Source code

Revision control

Copy as Markdown

Other Tools

# PL_strdup
Returns a pointer to a new memory node in the NSPR heap containing a
copy of a specified string.
## Syntax
```{code}
#include <plstr.h>
char *PL_strdup(const char *s);
```
## Parameter
The function has a single parameter:
`s`
: The string to copy, may be `NULL`.
## Returns
The function returns one of these values:
- If successful, a pointer to a copy of the specified string.
- If the memory allocation fails, `NULL`.
## Description
To accommodate the terminator, the size of the allocated memory is one
greater than the length of the string being copied. A `NULL` argument,
like a zero-length argument, results in a pointer to a one-byte block of
memory containing the null value.
## Notes
The memory allocated by {ref}`PL_strdup` should be freed with
[PL_strfree](/en/PL_strfree).