zip_source_buffer_fragment, zip_source_buffer_fragment_create — create zip data source from multiple
Contents
Description
The functions 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.
Errors
zip_source_buffer() and zip_source_buffer_create() fail if:
[ZIP_ER_INVAL] nfragments is greater than zero and fragments is NULL.
[ZIP_ER_MEMORY] Required memory could not be allocated.
History
zip_source_buffer_fragment() and zip_source_buffer_fragment_create() were added in libzip 1.4.0.
Library
libzip (-lzip)
Name
zip_source_buffer_fragment, zip_source_buffer_fragment_create — create zip data source from multiple
buffer
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.
See Also
libzip(3), zip_file_add(3), zip_file_replace(3), zip_open_from_source(3), zip_source(3)
Synopsis
#include<zip.h>zip_source_t*zip_source_buffer_fragment(zip_t*archive, zip_buffer_fragment_t*fragments, zip_uint64_tnfragments,
intfreep);
zip_source_t*zip_source_buffer_fragment_create(zip_buffer_fragment_t*fragments, zip_uint64_tnfragments, intfreep,
zip_error_t*error);
