<!DOCTYPE html>
<html>
<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. If writing
fails, <code class="Fn">zip_close</code>() fails;
<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>
</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_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">December 18, 2017</td>
<td class="foot-os">NetBSD 8.99.35</td>
</tr>
</table>
</body>
</html>