zip_source_zip, zip_source_zip_create — create data source from zip file (obsolete interface)
Contents
Description
The functions zip_source_zip() and zip_source_zip_create() are the obsolete versions of
zip_source_zip_file(3) or zip_source_zip_file_create(3) respectively. If you want to get the compressed
data of the complete file, use
zip_source_zip_file(za,source_archive,source_index,ZIP_FL_COMPRESSED,0,-1,NULL)
The functions zip_source_zip() and zip_source_zip_create() create a zip source from a file in a zip
archive. The srcarchive argument is the (open) zip archive containing the source zip file at index
srcidx. len bytes from offset start will be used in the zip_source. If len is 0 or -1, the rest of the
file, starting from start, is used. If start is zero and len is -1, the whole file will be copied
without decompressing it.
Supported flags are:
ZIP_FL_UNCHANGED
Try to get the original data without any changes that may have been made to srcarchive
after opening it.
Errors
zip_source_zip() and zip_source_zip_create() fail if:
[ZIP_ER_CHANGED] Unchanged data was requested, but it is not available.
[ZIP_ER_INVAL] srcarchive, srcidx, start, or len are invalid.
[ZIP_ER_MEMORY] Required memory could not be allocated.
Additionally, it can return all error codes from zip_stat_index() and zip_fopen_index().
History
zip_source_zip() was added in libzip 1.0. zip_source_zip_create() was added in libzip 1.8.0. Both were
deprecated in libzip 1.10.0. Use zip_source_zip_file() or zip_source_zip_file_create() instead.
Library
libzip (-lzip)
Name
zip_source_zip, zip_source_zip_create — create data source from zip file (obsolete interface)
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_source(3)
Synopsis
#include<zip.h>zip_source_t*zip_source_zip(zip_t*archive, zip_t*srcarchive, zip_uint64_tsrcidx, zip_flags_tflags,
zip_uint64_tstart, zip_int64_tlen);
zip_source_t*zip_source_zip_create(zip_t*srcarchive, zip_uint64_tsrcidx, zip_flags_tflags, zip_uint64_tstart,
zip_int64_tlen, zip_error_t*error);
