= nng_msg_dup(3)
:doctype: manpage
:manmanual: nng
:mansource: nng
:manvolnum: 3
:copyright: Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] + \
            Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV] + \
            {blank} + \
            This document is supplied under the terms of the \
            https://opensource.org/licenses/MIT[MIT License].

== NAME

nng_msg_dup - duplicate a message

== SYNOPSIS

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

int nng_msg_dup(nng_msg **dup, nng_msg_t *orig);
-----------

== DESCRIPTION

The `nng_msg_dup()` makes a duplicate of the original message _orig_, and
saves the result in the location pointed by _dup_.  The actual message
body and header content is copied, but the duplicate may contain a
different amount of unused space than the original message.

== RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

== ERRORS

`NNG_ENOMEM`:: Insufficient free memory exists to duplicate a message.

== SEE ALSO

<<nng_msg_alloc#,nng_msg_alloc(3)>>,
<<nng_msg_free#,nng_msg_free(3)>>,
<<nng_strerror#,nng_strerror(3)>>,
<<nng#,nng(7)>>

== COPYRIGHT

{copyright}