ZIP_CLOSE(3) Introduction to Library Functions ZIP_CLOSE(3)
NAME
zip_close - close zip archive
LIBRARY
libzip (-lzip)
SYNOPSIS
#include <zip.h> int zip_close(
zip_t *archive);
DESCRIPTION
The
zip_close() function writes any changes made to
archive to disk.
If
archive contains no files, the file is completely removed (no empty
archive is written), unless the archive flag
ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE is set. If successful,
archive is freed. Otherwise
archive is left unchanged and must still
be freed.
To close and free a zip archive without saving changes, use
zip_discard(3).
Progress updates for GUIs can be implemented using
zip_register_progress_callback_with_state(3). Cancelling the write of
an archive during
zip_close can be implemented using
zip_register_cancel_callback_with_state(3).
RETURN VALUES
Upon successful completion 0 is returned. Otherwise, -1 is returned
and the error code in
archive is set to indicate the error.
ERRORS
zip_close() will fail if:
[ZIP_ER_EOF] Unexpected end-of-file found while reading from a
file.
[ZIP_ER_INTERNAL] The callback function of an added or replaced file
returned an error but failed to report which.
[ZIP_ER_INVAL] The
path argument is NULL.
[ZIP_ER_MEMORY] Required memory could not be allocated.
[ZIP_ER_NOZIP] File is not a zip archive.
[ZIP_ER_READ] A file read failed.
[ZIP_ER_RENAME] A temporary file could not be renamed to its final
name.
[ZIP_ER_SEEK] A file seek failed.
[ZIP_ER_TMPOPEN] A temporary file could not be created.
[ZIP_ER_WRITE] A file write failed.
[ZIP_ER_ZLIB] An error occurred while (de)compressing a stream
with
zlib(3).
Additionally, any errors returned by the callback function for added or
replaced files will be passed back.
SEE ALSO
libzip(3),
zip_discard(3),
zip_fdopen(3),
zip_get_error(3),
zip_open(3),
zip_register_cancel_callback_with_state(3),
zip_register_progress_callback_with_state(3),
zip_set_archive_flag(3),
zip_strerror(3)HISTORY
zip_close() was added in libzip 0.6.
AUTHORS
Dieter Baron <
dillo@nih.at> and Thomas Klausner <
wiz@gatalith.at>
CAVEATS
Please note that all indices,
zip_stat(3) information and other data
about the archive is invalid after
zip_close. When you open the same
file again, it will be a completely new
zip_t structure.
illumos January 23, 2023 illumos