<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zip_error_to_str.mdoc -- get string representation of zip error code
   Copyright (C) 2003-2017 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"/>
  <style>
    table.head, table.foot { width: 100%; }
    td.head-rtitle, td.foot-os { text-align: right; }
    td.head-vol { text-align: center; }
    div.Pp { margin: 1ex 0ex; }
  </style>
  <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
  <title>ZIP_ERROR_TO_STR(3)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIP_ERROR_TO_STR(3)</td>
    <td class="head-vol">Library Functions Manual</td>
    <td class="head-rtitle">ZIP_ERROR_TO_STR(3)</td>
  </tr>
</table>
<div class="manual-text">
<h1 class="Sh" title="Sh" id="NAME"><a class="selflink" href="#NAME">NAME</a></h1>
<b class="Nm" title="Nm">zip_error_to_str</b> &#x2014;
  <span class="Nd" title="Nd">get string representation of zip error (obsolete
  interface)</span>
<h1 class="Sh" title="Sh" id="LIBRARY"><a class="selflink" href="#LIBRARY">LIBRARY</a></h1>
libzip (-lzip)
<h1 class="Sh" title="Sh" id="SYNOPSIS"><a class="selflink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<b class="In" title="In">#include &lt;<a class="In" title="In">zip.h</a>&gt;</b>
<div class="Pp"></div>
<var class="Ft" title="Ft">int</var>
<br/>
<b class="Fn" title="Fn">zip_error_to_str</b>(<var class="Fa" title="Fa" style="white-space: nowrap;">char
  *buf</var>,
  <var class="Fa" title="Fa" style="white-space: nowrap;">zip_uint64_t
  len</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">int
  ze</var>, <var class="Fa" title="Fa" style="white-space: nowrap;">int
  se</var>);
<h1 class="Sh" title="Sh" id="DESCRIPTION"><a class="selflink" href="#DESCRIPTION">DESCRIPTION</a></h1>
The function <b class="Fn" title="Fn">zip_error_to_str</b>() is deprecated; use
  <a class="Xr" title="Xr" href="zip_error_init_with_code.html">zip_error_init_with_code(3)</a>
  and
  <a class="Xr" title="Xr" href="zip_error_strerror.html">zip_error_strerror(3)</a>
  instead.
<div class="Pp"></div>
Replace
<div class="Pp"></div>
<div class="Bd" style="margin-left: 5.00ex;">
<pre class="Li">
char buf[BUFSIZE]; 
zip_error_to_str(buf, sizeof(buf), ze, se); 
printf(&quot;%s&quot;, buf);
</pre>
</div>
with
<div class="Pp"></div>
<div class="Bd" style="margin-left: 5.00ex;">
<pre class="Li">
zip_error_t error; 
zip_error_init_with_code(&amp;error, ze); 
printf(&quot;%s&quot;, zip_error_strerror(&amp;error)); 
zip_error_fini(&amp;error);
</pre>
</div>
<h1 class="Sh" title="Sh" id="SEE_ALSO"><a class="selflink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" title="Xr" href="libzip.html">libzip(3)</a>,
  <a class="Xr" title="Xr" href="zip_error_init_with_code.html">zip_error_init_with_code(3)</a>,
  <a class="Xr" title="Xr" href="zip_error_strerror.html">zip_error_strerror(3)</a>
<h1 class="Sh" title="Sh" id="HISTORY"><a class="selflink" href="#HISTORY">HISTORY</a></h1>
<b class="Fn" title="Fn">zip_error_to_str</b>() was added in libzip 0.6. In
  libzip 0.10 the type of <var class="Ar" title="Ar">len</var> was changed from
  <var class="Vt" title="Vt">size_t</var> to
  <var class="Vt" title="Vt">zip_uint64_t</var>. It was deprecated in libzip
  1.0, use <b class="Fn" title="Fn">zip_error_init_with_code</b>() and
  <b class="Fn" title="Fn">zip_error_strerror</b>() instead.
<h1 class="Sh" title="Sh" id="AUTHORS"><a class="selflink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An" title="An">Dieter Baron</span>
  &lt;<a class="Mt" title="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt;
  and <span class="An" title="An">Thomas Klausner</span>
  &lt;<a class="Mt" title="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 18, 2017</td>
    <td class="foot-os">NetBSD 8.99.14</td>
  </tr>
</table>
</body>
</html>
