Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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_regis-
     ter_progress_callback_with_state(3).  Cancelling the write  of  an  archive
     during   zip_close   can  be  implemented	using  zip_register_cancel_call-
     back_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 re-
			turned 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 re-
     placed 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_call-
     back_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.

FreeBSD ports 15.quarterly	January 23, 2023		    ZIP_CLOSE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=zip_close&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help