This documentation is for version v1.3.0 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.


#include <nng/nng.h>

char *nng_strdup(const char *src);


The nng_strdup() duplicates the string src and returns it.

This is logically equivalent to using nng_alloc() to allocate a region of memory of strlen(s) + 1 bytes, and then using strcpy() to copy the string into the destination before returning it.

The returned string should be deallocated with nng_strfree(), or may be deallocated using the nng_free() using the length of the returned string plus one (for the NUL terminating byte).

Do not use the system free() or similar functions to deallocate the string, since those may use a different memory arena!


This function returns the new string on success, and NULL on failure.


No errors are returned, but a NULL return value should be treated the same as NNG_ENOMEM.