= nng_strfree(3)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_strfree - free memory

== SYNOPSIS

[source, c]
----
#include <nng/nng.h>

void nng_strfree(char *str);
----

== DESCRIPTION

The `nng_strfree()` function deallocates the string _str_.
This is equivalent to using xref:nng_free.3.adoc[`nng_free()`] with
the length of _str_ plus one (for the `NUL` terminating byte) as
the size.

IMPORTANT: This should only be used with strings that were allocated
by xref:nng_strdup.3.adoc[`nng_strdup()`] or
xref:nng_alloc.3.adoc[`nng_alloc()`].
In all cases, the allocation size of the string must be the same
as `strlen(__str__) + 1`.

IMPORTANT: Consequently, if the a string created with
xref:nng_strdup.3.adoc[`nng_strdup()`] is modified to be shorter, then
it is incorrect to call this function.
(The xref:nng_free.3.adoc[`nng_free()`] function can be used instead in that
case, using the length of the original string plus one for the size.)

== RETURN VALUES

None.

== ERRORS

None.

== SEE ALSO

[.text-left]
xref:nng_alloc.3.adoc[nng_alloc(3)],
xref:nng_free.3.adoc[nng_free(3)],
xref:nng_strdup.3.adoc[nng_strdup(3)],
xref:nng.7.adoc[nng(7)]
