.\" zip_close.mdoc -- close zip archive
.\" Copyright (C) 2003-2015 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.
.\"
.Dd February 13, 2012
.Dt ZIP_CLOSE 3
.Os
.Sh NAME
.Nm zip_close
.Nd close zip archive
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft int
.Fn zip_close "zip_t *archive"
.Sh DESCRIPTION
The
.Fn zip_close
function closes
.Ar archive
and frees the memory allocated for it.
If any files within were changed, those changes are written to disk
first.
If writing changes fails,
.Fn zip_close
fails and
.Ar archive
is left unchanged.
If
.Ar archive
contains no files, the file is completely removed (no empty archive is
written).
.Pp
To close a zip file without saving changes, use
.Xr zip_discard 3 .
.Sh RETURN VALUES
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error code in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Fn zip_close
will fail if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_EOF
Unexpected end-of-file found while reading from a file.
.It Bq Er ZIP_ER_INTERNAL
The callback function of an added or replaced file returned an
error but failed to report which.
.It Bq Er ZIP_ER_INVAL
The
.Ar path
argument is
.Dv NULL .
.It Bq Er ZIP_ER_MEMORY
Required memory could not be allocated.
.It Bq Er ZIP_ER_NOZIP
File is not a zip archive.
.It Bq Er ZIP_ER_READ
A file read failed.
.It Bq Er ZIP_ER_RENAME
A temporary file could not be renamed to its final name.
.It Bq Er ZIP_ER_SEEK
A file seek failed.
.It Bq Er ZIP_ER_TMPOPEN
A temporary file could not be created.
.It Bq Er ZIP_ER_WRITE
A file write failed.
.It Bq Er ZIP_ER_ZLIB
An error occurred while (de)compressing a stream with
.Xr zlib 3 .
.El
Additionally, any errors returned by the callback function
for added or replaced files will be passed back.
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_discard 3 ,
.Xr zip_error_get 3 ,
.Xr zip_fdopen 3 ,
.Xr zip_open 3 ,
.Xr zip_strerror 3
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq Mt dillo@nih.at
and
.An Thomas Klausner Aq Mt tk@giga.or.at
