ZIP_SOURCE_ZIP_FILE(3) | Library Functions Manual | ZIP_SOURCE_ZIP_FILE(3) |
zip_source_zip_file
,
zip_source_zip_file_create
—
create data source from zip file
libzip (-lzip)
#include
<zip.h>
zip_source_t *
zip_source_zip_file
(zip_t
*archive, zip_t
*srcarchive, zip_uint64_t
srcidx, zip_flags_t
flags, zip_uint64_t
start, zip_int64_t
length, const char
*password);
zip_source_t *
zip_source_zip_file_create
(zip_t
*srcarchive, zip_uint64_t
srcidx, zip_flags_t
flags, zip_uint64_t
start, zip_int64_t
length, const char
*password, zip_error_t
*error);
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
ZIP_FL_ENCRYPTED
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
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.
zip_source_zip_file
() and
zip_source_zip_file_create
() fail if:
ZIP_ER_CHANGED
]ZIP_ER_INVAL
]ZIP_ER_MEMORY
]zip_stat_index
() and
zip_fopen_index
().
libzip(3), zip_file_add(3), zip_file_replace(3), zip_source(3)
zip_source_zip_file
() and
zip_source_zip_file_create
() were added in libzip
1.10.0.
Dieter Baron <dillo@nih.at> and Thomas Klausner <wiz@gatalith.at>
March 10, 2023 | Debian |