NAME¶
zip_source_zip - create data source from zip file
LIBRARY¶
libzip (-lzip)
SYNOPSIS¶
#include <zip.h>
struct zip_source * zip_source_zip(struct zip *archive, struct zip *srcarchive);
"zip_uint64_t srcidx" "int flags" "zip_uint64_t
start" "zip_int64_t len"
DESCRIPTION¶
The function zip_source_zip creates 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.
- ZIP_FL_RECOMPRESS
- When adding the data from srcarchive, re-compress it
using the current settings instead of copying the compressed data.
RETURN VALUES¶
Upon successful completion, the created source is returned. Otherwise,
NULL is returned and the error code in
archive is set to
indicate the error.
ERRORS¶
zip_source_zip fails 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.
SEE ALSO¶
libzip(3),
zip_add(3),
zip_replace(3),
zip_source_buffer(3),
zip_source_file(3),
zip_source_filep(3),
zip_source_free(3),
zip_source_function(3)
AUTHORS¶
Dieter Baron <dillo@giga.or.at> and Thomas Klausner
<tk@giga.or.at>