nn_reallocmsg(3)
================

NAME
----
nn_reallocmsg - reallocate a message


SYNOPSIS
--------
*#include <nanomsg/nn.h>*

*void *nn_reallocmsg (void *'msg', size_t 'size');*

DESCRIPTION
-----------
Reallocate a message previously allocated by linknanomsg:nn_allocmsg[3] or
received from a peer using NN_MSG mechanism.

Note that as with the standard _realloc_, the operation may involve copying
the data in the buffer.


RETURN VALUE
------------
If the function succeeds pointer to newly allocated buffer is returned.
Otherwise, NULL is returned and 'errno' is set to to one of the values
defined below.


ERRORS
------
*ENOMEM*::
Not enough memory to allocate the message.


EXAMPLE
-------

----
void *buf = nn_allocmsg (12, 0);
void *newbuf = nn_reallocmsg (buf, 20);
nn_freemsg (newbuf);
----


SEE ALSO
--------
linknanomsg:nn_allocmsg[3]
linknanomsg:nn_freemsg[3]
linknanomsg:nanomsg[7]

AUTHORS
-------
Martin Sustrik <sustrik@250bpm.com>

