---
name: "nng_msg_dup"
section: "3"
platform: "linux"
package: "libnng-dev"
version: "1.10.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nng_msg_dup"
---

# nng\_msg\_dup(3)

duplicate a message

## NAME

nng\_msg\_dup - duplicate a message

## SYNOPSIS

```
#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(3)](/nng_msg_alloc/3.md), [nng\_msg\_free(3)](/nng_msg_free/3.md), [nng\_strerror(3)](/nng_strerror/3.md), [nng\_msg(5)](/nng_msg/5.md), [nng(7)](/nng/7.md)
