Provided by: libbson-doc_1.15.0-1_all bug


       bson_destroy_with_steal - bson_destroy_with_steal()


          uint8_t *
          bson_destroy_with_steal (bson_t *bson, bool steal, uint32_t *length);


       · bson: A bson_t.

       · steal: A bool indicating if the underlying buffer should be stolen.

       · length: A location for storing the resulting buffer length.


       The  bson_destroy_with_steal()  function  shall  destroy a bson_t structure but return the
       underlying buffer instead of freeing it. If steal is false, this is equivalent to  calling
       bson_destroy().  It is a programming error to call this function on a bson_t that is not a
       top-level  bson_t,  such   as   those   initialized   with   bson_append_document_begin(),
       bson_append_array_begin(), and bson_writer_begin().

       See  also  bson_steal,  a higher-level function that efficiently transfers the contents of
       one bson_t to another.


       bson_destroy_with_steal() shall return a buffer containing the contents of the  bson_t  if
       steal  is  non-zero.  This  should be freed with bson_free() when no longer in use. length
       will be set to the length of the bson document if non-NULL.


       MongoDB, Inc


       2017-present, MongoDB, Inc