zip_source_buffer, zip_source_buffer_create
create zip data source from buffer

libzip (-lzip)

#include <zip.h>

zip_source_t *
zip_source_buffer(zip_t *archive, const void *data, zip_uint64_t len, int freep);

zip_source_t *
zip_source_buffer_create(const void *data, zip_uint64_t len, int freep, zip_error_t *error);

The functions zip_source_buffer() and zip_source_buffer_create() create a zip source from the buffer data of size len. If freep is non-zero, the buffer will be freed when it is no longer needed. data must remain valid for the lifetime of the created source.

The source can be used to open a zip archive from.

Upon successful completion, the created source is returned. Otherwise, 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:
len is greater than zero and data is NULL.
Required memory could not be allocated.

libzip(3), zip_file_add(3), zip_file_replace(3), zip_open_from_source(3), zip_source(3)

zip_source_buffer() and zip_source_buffer_create() were added in libzip 1.0.

Dieter Baron <> and Thomas Klausner <>