logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

zip_source_zip_file, zip_source_zip_file_create — create data source from zip file

Authors

       Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>

Debian                                           March 10, 2023                           ZIP_SOURCE_ZIP_FILE(3)

Description

       The functions zip_source_zip_file() and zip_source_zip_file_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.  length bytes from offset start will be used in the zip_source.  If length is -1, the rest of the
       file, starting from start, is used.

       If  you  intend  to  copy  a  file  from one archive to another, using the flag ZIP_FL_COMPRESSED is more
       efficient, as it avoids recompressing the file data.

       Supported flags are:

       ZIP_FL_COMPRESSED     Get the compressed data.  This is only supported  if  the  complete  file  data  is
                             requested  (start  == 0 and length == -1).  This is not supported for changed data.
                             Default is uncompressed.

       ZIP_FL_ENCRYPTED      Get the encrypted data.  (This  flag  implies  ZIP_FL_COMPRESSED.)   This  is  only
                             supported  if  the  complete  file data is requested (start == 0 and length == -1).
                             Default is decrypted.

       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_file() and zip_source_zip_file_create() fail if:

       [ZIP_ER_CHANGED]   Unchanged data was requested, but it is not available.

       [ZIP_ER_INVAL]     srcarchive, srcidx, start, or length 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_file() and zip_source_zip_file_create() were added in libzip 1.10.0.

Library

       libzip (-lzip)

Name

       zip_source_zip_file, zip_source_zip_file_create — create data source from zip file

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_file(zip_t*archive,   zip_t*srcarchive,   zip_uint64_tsrcidx,  zip_flags_tflags,
           zip_uint64_tstart, zip_int64_tlength, constchar*password);

       zip_source_t*zip_source_zip_file_create(zip_t*srcarchive, zip_uint64_tsrcidx, zip_flags_tflags, zip_uint64_tstart,
           zip_int64_tlength, constchar*password, zip_error_t*error);

See Also