.\" $NiH: zip_get_name.mdoc,v 1.9 2005/06/09 21:13:12 wiz Exp $
.\"
.\" zip_get_name.mdoc -- get name of file by index
.\" Copyright (C) 2003, 2004, 2005 Dieter Baron and Thomas Klausner
.\"
.\" This file is part of libzip, a library to manipulate ZIP archives.
.\" The authors can be contacted at <nih@giga.or.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 January 20, 2005
.Dt ZIP_GET_NAME 3
.Os
.Sh NAME
.Nm zip_get_name
.Nd get name of file by index
.Sh LIBRARY
libzip (-lzip)
.Sh SYNOPSIS
.In zip.h
.Ft const char *
.Fn zip_get_name "struct zip *archive" "int index" "int flags"
.Sh DESCRIPTION
The
.Fn zip_get_name
function returns the name of the file at position
.Ar index
in
.Ar archive .
If
.Ar flags
is set to
.Dv ZIP_FL_UNCHANGED ,
the original unchanged filename is returned.
The returned string must not be modified or freed, and becomes invalid when
.Ar archive
is closed.
.Sh RETURN VALUES
Upon successful completion, a pointer to the name is returned.
Otherwise,
.Dv NULL
and the error code in
.Ar archive
is set to indicate the error.
.Sh ERRORS
.Fn zip_get_name
fails if:
.Bl -tag -width Er
.It Bq Er ZIP_ER_DELETED
.Ar index
refers to a file that has been deleted
(see
.Xr zip_delete 3 ) .
.It Bq Er ZIP_ER_INVAL
.Ar index
is not a valid file index in
.Ar archive ,
or
.Ar index
points to an added file and
.Dv ZIP_FL_UNCHANGED
is set.
.Sh SEE ALSO
.Xr libzip 3 ,
.Xr zip_name_locate 3
.Sh AUTHORS
.An -nosplit
.An Dieter Baron Aq dillo@giga.or.at
and
.An Thomas Klausner Aq tk@giga.or.at
