ZIP_SOURCE_ZIP(3)

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); "int srcidx" "int flags" "off_t start" "off_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. If flags is ZIP_FL_UNCHANGED, zip_source_zip will try to get the original data without any changes that may have been made to srcarchive after opening it.

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>