| ZIP_SOURCE_BUFFER_FRAGMENT(3) | Library Functions Manual | ZIP_SOURCE_BUFFER_FRAGMENT(3) | 
zip_source_buffer_fragment,
  zip_source_buffer_fragment_create —
#include <zip.h>
zip_source_t *
  
  zip_source_buffer_fragment(zip_t
    *archive,
    zip_buffer_fragment_t
    *fragments, zip_uint64_t
    nfragments, int
    freep);
zip_source_t *
  
  zip_source_buffer_fragment_create(zip_buffer_fragment_t
    *fragments, zip_uint64_t
    nfragments, int
    freep, zip_error_t
    *error);
zip_source_buffer_fragment() and
  zip_source_buffer_fragment_create() create a zip
  source from the data in fragments.
  nfragments specifies the number of fragments. If
  freep is non-zero, the data will be freed when it is no
  longer needed.
struct zip_stat {
    zip_uint8_t *data;    /* pointer to the actual data */
    zip_uint64_t length;  /* length of this fragment */
};
The data fragments point to must remain valid for the lifetime of the created source. fragments itself can be discarded once the source is created.
The source can be used to open a zip archive from.
NULL is returned and the error code in
  archive or error is set to
  indicate the error.
zip_source_buffer() and
  zip_source_buffer_create() fail if:
ZIP_ER_INVAL]NULL.ZIP_ER_MEMORY]zip_source_buffer_fragment() and
  zip_source_buffer_fragment_create() were added in
  libzip 1.4.0.
| December 18, 2017 | NiH |