Provided by: libzip-dev_1.5.1-0ubuntu1_amd64 bug


     zip_source_zip — create data source from zip file


     libzip (-lzip)


     #include <zip.h>

     zip_source_t *
     zip_source_zip(zip_t *archive, zip_t *srcarchive, zip_uint64_t srcidx, zip_flags_t flags,
         zip_uint64_t start, zip_int64_t len);


     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.


     Upon successful completion, the created source is returned.  Otherwise, NULL is returned and
     the error code in archive is set to indicate the error.


     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().


     libzip(3), zip_add(3), zip_replace(3), zip_source(3)


     zip_source_zip() was added in libzip 1.0.


     Dieter Baron <> and Thomas Klausner <>