zip_source_buffer - Man Page

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.

Return Values

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.

See Also

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 <>

Referenced By

libzip(3), zip_source(3).

The man page zip_source_buffer_create(3) is an alias of zip_source_buffer(3).

December 18, 2017