= 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_free - 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 `<<nng_free.3#,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 `<<nng_strdup.3#,nng_strdup()>>` or
`<<nng_alloc.3#,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
`<<nng_strdup.3#,nng_strdup()>>` is modified to be shorter, then
it is incorrect to call this function.
(The `<<nng_free.3#,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]
<<nng_alloc.3#,nng_alloc(3)>>,
<<nng_free.3#,nng_free(3)>>,
<<nng_strdup.3#,nng_strdup(3)>>,
<<nng.7#,nng(7)>>
