|  | <!DOCTYPE html> | 
|  | <html> | 
|  | <!-- This is an automatically generated file.  Do not edit. | 
|  | zip_close.mdoc -- close zip archive | 
|  | Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner | 
|  |  | 
|  | This file is part of libzip, a library to manipulate ZIP archives. | 
|  | The authors can be contacted at <libzip@nih.at> | 
|  |  | 
|  | Redistribution and use in source and binary forms, with or without | 
|  | modification, are permitted provided that the following conditions | 
|  | are met: | 
|  | 1. Redistributions of source code must retain the above copyright | 
|  | notice, this list of conditions and the following disclaimer. | 
|  | 2. Redistributions in binary form must reproduce the above copyright | 
|  | notice, this list of conditions and the following disclaimer in | 
|  | the documentation and/or other materials provided with the | 
|  | distribution. | 
|  | 3. The names of the authors may not be used to endorse or promote | 
|  | products derived from this software without specific prior | 
|  | written permission. | 
|  |  | 
|  | THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS | 
|  | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
|  | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
|  | ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY | 
|  | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
|  | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | 
|  | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
|  | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | 
|  | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | 
|  | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN | 
|  | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|  | --> | 
|  | <head> | 
|  | <meta charset="utf-8"/> | 
|  | <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/> | 
|  | <title>ZIP_CLOSE(3)</title> | 
|  | </head> | 
|  | <body> | 
|  | <table class="head"> | 
|  | <tr> | 
|  | <td class="head-ltitle">ZIP_CLOSE(3)</td> | 
|  | <td class="head-vol">Library Functions Manual</td> | 
|  | <td class="head-rtitle">ZIP_CLOSE(3)</td> | 
|  | </tr> | 
|  | </table> | 
|  | <div class="manual-text"> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> | 
|  | <code class="Nm">zip_close</code> — | 
|  | <div class="Nd">close zip archive</div> | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1> | 
|  | libzip (-lzip) | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> | 
|  | <code class="In">#include <<a class="In">zip.h</a>></code> | 
|  | <p class="Pp"><var class="Ft">int</var> | 
|  | <br/> | 
|  | <code class="Fn">zip_close</code>(<var class="Fa" style="white-space: nowrap;">zip_t | 
|  | *archive</var>);</p> | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> | 
|  | The <code class="Fn">zip_close</code>() function writes any changes made to | 
|  | <var class="Ar">archive</var> to disk. If <var class="Ar">archive</var> | 
|  | contains no files, the file is completely removed (no empty archive is | 
|  | written). If successful, <var class="Ar">archive</var> is freed. Otherwise | 
|  | <var class="Ar">archive</var> is left unchanged and must still be freed. | 
|  | <p class="Pp">To close and free a zip archive without saving changes, use | 
|  | <a class="Xr" href="zip_discard.html">zip_discard(3)</a>.</p> | 
|  | <p class="Pp">Progress updates for GUIs can be implemented using | 
|  | <a class="Xr" href="zip_register_progress_callback_with_state.html">zip_register_progress_callback_with_state(3)</a>. | 
|  | Cancelling the write of an archive during <code class="Nm">zip_close</code> | 
|  | can be implemented using | 
|  | <a class="Xr" href="zip_register_cancel_callback_with_state.html">zip_register_cancel_callback_with_state(3)</a>.</p> | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN | 
|  | VALUES</a></h1> | 
|  | Upon successful completion 0 is returned. Otherwise, -1 is returned and the | 
|  | error code in <var class="Ar">archive</var> is set to indicate the error. | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1> | 
|  | <code class="Fn">zip_close</code>() will fail if: | 
|  | <dl class="Bl-tag"> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_EOF"><code class="Er" id="ZIP_ER_EOF">ZIP_ER_EOF</code></a>]</dt> | 
|  | <dd>Unexpected end-of-file found while reading from a file.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_INTERNAL"><code class="Er" id="ZIP_ER_INTERNAL">ZIP_ER_INTERNAL</code></a>]</dt> | 
|  | <dd>The callback function of an added or replaced file returned an error but | 
|  | failed to report which.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_INVAL"><code class="Er" id="ZIP_ER_INVAL">ZIP_ER_INVAL</code></a>]</dt> | 
|  | <dd>The <var class="Ar">path</var> argument is | 
|  | <code class="Dv">NULL</code>.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_MEMORY"><code class="Er" id="ZIP_ER_MEMORY">ZIP_ER_MEMORY</code></a>]</dt> | 
|  | <dd>Required memory could not be allocated.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_NOZIP"><code class="Er" id="ZIP_ER_NOZIP">ZIP_ER_NOZIP</code></a>]</dt> | 
|  | <dd>File is not a zip archive.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_READ"><code class="Er" id="ZIP_ER_READ">ZIP_ER_READ</code></a>]</dt> | 
|  | <dd>A file read failed.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_RENAME"><code class="Er" id="ZIP_ER_RENAME">ZIP_ER_RENAME</code></a>]</dt> | 
|  | <dd>A temporary file could not be renamed to its final name.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_SEEK"><code class="Er" id="ZIP_ER_SEEK">ZIP_ER_SEEK</code></a>]</dt> | 
|  | <dd>A file seek failed.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_TMPOPEN"><code class="Er" id="ZIP_ER_TMPOPEN">ZIP_ER_TMPOPEN</code></a>]</dt> | 
|  | <dd>A temporary file could not be created.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_WRITE"><code class="Er" id="ZIP_ER_WRITE">ZIP_ER_WRITE</code></a>]</dt> | 
|  | <dd>A file write failed.</dd> | 
|  | <dt>[<a class="permalink" href="#ZIP_ER_ZLIB"><code class="Er" id="ZIP_ER_ZLIB">ZIP_ER_ZLIB</code></a>]</dt> | 
|  | <dd>An error occurred while (de)compressing a stream with | 
|  | <a class="Xr" href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/zlib.html">zlib(3)</a>.</dd> | 
|  | </dl> | 
|  | Additionally, any errors returned by the callback function for added or replaced | 
|  | files will be passed back. | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE | 
|  | ALSO</a></h1> | 
|  | <a class="Xr" href="libzip.html">libzip(3)</a>, | 
|  | <a class="Xr" href="zip_discard.html">zip_discard(3)</a>, | 
|  | <a class="Xr" href="zip_fdopen.html">zip_fdopen(3)</a>, | 
|  | <a class="Xr" href="zip_get_error.html">zip_get_error(3)</a>, | 
|  | <a class="Xr" href="zip_open.html">zip_open(3)</a>, | 
|  | <a class="Xr" href="zip_register_cancel_callback_with_state.html">zip_register_cancel_callback_with_state(3)</a>, | 
|  | <a class="Xr" href="zip_register_progress_callback_with_state.html">zip_register_progress_callback_with_state(3)</a>, | 
|  | <a class="Xr" href="zip_strerror.html">zip_strerror(3)</a> | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> | 
|  | <code class="Fn">zip_close</code>() was added in libzip 0.6. | 
|  | </section> | 
|  | <section class="Sh"> | 
|  | <h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> | 
|  | <span class="An">Dieter Baron</span> | 
|  | <<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>> and | 
|  | <span class="An">Thomas Klausner</span> | 
|  | <<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>> | 
|  | </section> | 
|  | </div> | 
|  | <table class="foot"> | 
|  | <tr> | 
|  | <td class="foot-date">April 6, 2021</td> | 
|  | <td class="foot-os">NiH</td> | 
|  | </tr> | 
|  | </table> | 
|  | </body> | 
|  | </html> |