GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BSON_STEAL(3) libbson BSON_STEAL(3)

bool
bson_steal (bson_t *dst, bson_t *src);


  • dst: An uninitialized bson_t.
  • src: A bson_t.

Efficiently transfer the contents of src to dst and destroy src.

Before calling this function, src must be initialized and dst must be uninitialized. After this function returns successfully, src is destroyed, and dst is initialized and must be freed with bson_destroy().

For example, if you have a higher-level structure that wraps a bson_t, use bson_steal to transfer BSON data into it:

typedef struct {

bson_t bson; } bson_wrapper_t; bson_wrapper_t * wrap_bson (bson_t *b) {
bson_wrapper_t *wrapper = bson_malloc (sizeof (bson_wrapper_t));
if (bson_steal (&wrapper->bson, b)) {
return wrapper;
}
bson_free (wrapper);
return NULL; } void bson_wrapper_destroy (bson_wrapper_t *wrapper) {
bson_destroy (&wrapper->bson);
bson_free (wrapper); } int main (int argc, char *argv[]) {
bson_t bson = BSON_INITIALIZER;
bson_wrapper_t *wrapper;
BSON_APPEND_UTF8 (&bson, "key", "value");
/* now "bson" is destroyed */
wrapper = wrap_bson (&bson);
/* clean up */
bson_wrapper_destroy (wrapper); }


Returns true if src was successfully moved to dst, false if src is invalid, or was statically initialized, or another error occurred.

SEE ALSO:

bson_destroy_with_steal(), a lower-level function that returns the raw contents of a bson_t.



MongoDB, Inc

2009-present, MongoDB, Inc.

July 3, 2025 1.30.4

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.