SYNOPSIS
bool
bson_append_utf8 (bson_t *bson,
const char *key,
int key_length,
const char *value,
int length);
PARAMETERS
- bson
- A bson_t \&.
- key
- An ASCII C string containing the name of the field.
- key_length
- The length of key in bytes, or -1 to determine the length with strlen(3) \&.
- value
- A UTF-8 encoded string.
- length
- The number of bytes in value excluding the trailing \0 , or -1 to determine the length with strlen(3) \&.
DESCRIPTION
The bson_append_utf8(3) function shall append a UTF-8 encoded string to bson \&.
_value_ MUST be valid UTF-8.
Some UTF-8 implementations allow for \0 to be contained within the string (excluding the termination \0 \&. This is allowed, but remember that it could cause issues with communicating with external systems that do not support it.
It is suggested to use modified UTF-8 which uses a 2 byte representation for embedded \0 within the string. This will allow these UTF-8 encoded strings to used with many libc functions.
RETURNS
true if the operation was applied successfully, otherwise false and bson should be discarded.