<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_get_name.mdoc -- get name of file by index
   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_GET_NAME(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_GET_NAME(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_GET_NAME(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_get_name</code> &#x2014;
<div class="Nd">get name of file by index</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 &lt;<a class="In">zip.h</a>&gt;</code>
<p class="Pp"><var class="Ft">const char *</var>
  <br/>
  <code class="Fn">zip_get_name</code>(<var class="Fa" style="white-space: nowrap;">zip_t
    *archive</var>, <var class="Fa" style="white-space: nowrap;">zip_uint64_t
    index</var>, <var class="Fa" style="white-space: nowrap;">zip_flags_t
    flags</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The <code class="Fn">zip_get_name</code>() function returns the name of the file
  at position <var class="Ar">index</var> in <var class="Ar">archive</var>. The
  name is in UTF-8 encoding unless <code class="Dv">ZIP_FL_ENC_RAW</code> was
  specified (see below).
<p class="Pp">If <var class="Ar">flags</var> is set to
    <code class="Dv">ZIP_FL_UNCHANGED</code>, the original unchanged filename is
    returned. The returned string must not be modified or freed, and becomes
    invalid when <var class="Ar">archive</var> is closed.</p>
<p class="Pp">Additionally, the following <var class="Ar">flags</var> are
    supported:</p>
<div class="Bd-indent">
<dl class="Bl-tag">
  <dt><a class="permalink" href="#ZIP_FL_ENC_RAW"><code class="Dv" id="ZIP_FL_ENC_RAW">ZIP_FL_ENC_RAW</code></a></dt>
  <dd>Return the unmodified names as it is in the ZIP archive.</dd>
  <dt><a class="permalink" href="#ZIP_FL_ENC_GUESS"><code class="Dv" id="ZIP_FL_ENC_GUESS">ZIP_FL_ENC_GUESS</code></a></dt>
  <dd>(Default.) Guess the encoding of the name in the ZIP archive and convert
      it to UTF-8, if necessary. (Only CP-437 and UTF-8 are recognized.)</dd>
  <dt><a class="permalink" href="#ZIP_FL_ENC_STRICT"><code class="Dv" id="ZIP_FL_ENC_STRICT">ZIP_FL_ENC_STRICT</code></a></dt>
  <dd>Follow the ZIP specification and expect CP-437 encoded names in the ZIP
      archive (except if they are explicitly marked as UTF-8). Convert it to
      UTF-8.</dd>
</dl>
</div>
<i class="Em">Note</i>: ASCII is a subset of both CP-437 and UTF-8.
</section>
<section class="Sh">
<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
  VALUES</a></h1>
Upon successful completion, a pointer to the name is returned. Otherwise,
  <code class="Dv">NULL</code> 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_get_name</code>() fails if:
<dl class="Bl-tag">
  <dt>[<a class="permalink" href="#ZIP_ER_DELETED"><code class="Er" id="ZIP_ER_DELETED">ZIP_ER_DELETED</code></a>]</dt>
  <dd><var class="Ar">index</var> refers to a file that has been deleted (see
      <a class="Xr" href="zip_delete.html">zip_delete(3)</a>).</dd>
  <dt>[<a class="permalink" href="#ZIP_ER_INVAL"><code class="Er" id="ZIP_ER_INVAL">ZIP_ER_INVAL</code></a>]</dt>
  <dd><var class="Ar">index</var> is not a valid file index in
      <var class="Ar">archive</var>, or <var class="Ar">index</var> points to an
      added file and <code class="Dv">ZIP_FL_UNCHANGED</code> is set.</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>
</dl>
</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_name_locate.html">zip_name_locate(3)</a>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Fn">zip_get_name</code>() was added in libzip 0.6. In libzip 0.10
  the type of <var class="Ar">index</var> was changed from
  <var class="Vt">int</var> to <var class="Vt">zip_uint64_t</var>. In libzip
  0.11 the type of <var class="Ar">flags</var> was changed from
  <var class="Vt">int</var> to <var class="Vt">zip_flags_t</var>.
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An">Dieter Baron</span>
  &lt;<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt; and
  <span class="An">Thomas Klausner</span>
  &lt;<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">September 22, 2020</td>
    <td class="foot-os">NiH</td>
  </tr>
</table>
</body>
</html>
