Skip to content
Back to top

# bson_value_copy()

## Synopsis

    void
    bson_value_copy (const bson_value_t *src, bson_value_t *dst);

## Parameters

- `src`: A bson_value_t to copy from.

- `dst`: A bson_value_t to copy into.

## Description

This function will copy the boxed content in `src` into `dst`. `dst` must be freed with bson_value_destroy() when no longer in use. `dst` MUST be an uninitialized bson_value_t to avoid leaking memory.

Note

If `src` represents a BSON UTF-8 string, bson_value_copy() attempts to NULL terminate the copied string in `dst`. If `src.value.v_utf8.len` is SIZE_MAX, the copied string is (necessarily) not NULL terminated.