Back to Chromium

NAME

third_party/libzip/src/man/zip_close.html

152.0.7957.13.2 KB
Original Source

| ZIP_CLOSE(3) | Library Functions Manual | 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 <[email protected]> and Thomas Klausner <[email protected]>

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.

| January 23, 2023 | NiH |