xs_msg_copy(3)

xs_msg_copy3

Copy content of a message to another message

Usage

int xs_msg_copy (xs_msg_t *dest, xs_msg_t *src);

Overview

The xs_msg_copy() function shall copy the message object referenced by src to the message object referenced by dest. The original content of dest, if any, shall be released.

Caution

The implementation may choose not to physically copy the message content, rather to share the underlying buffer between src and dest. Avoid modifying message content after a message has been copied with xs_msg_copy(), doing so can result in undefined behaviour. If what you need is an actual hard copy, allocate a new message using xs_msg_init_size() and copy the message content using memcpy().

Caution

Never access xs_msg_t members directly, instead always use the xs_msg family of functions.

Return value

The xs_msg_copy() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.

Errors

EFAULT

Invalid message.

Notes

Releases

Unchanged in 3 releases since Debian 8 (Jessie).

  1. 8–10

Authors

The Crossroads documentation was written by Martin Sustrik <[email protected][1]> and Martin Lucina <[email protected][2]>.

From libxs-dev 1.2.0-2 in Debian 10 (Buster). Parsed by carta from the page's man source.