Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_get_name (3)

Name

zip_get_name - get name of file by index

Synopsis

#include <zip.h>

const char *
zip_get_name(zip_t *archive, zip_uint64_t index, zip_flags_t flags);

Description

ZIP_GET_NAME(3)          BSD Library Functions Manual          ZIP_GET_NAME(3)

NAME
     zip_get_name -- get name of file by index

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     const char *
     zip_get_name(zip_t *archive, zip_uint64_t index, zip_flags_t flags);

DESCRIPTION
     The zip_get_name() function returns the name of the file at position
     index in archive.  The name is in UTF-8 encoding unless ZIP_FL_ENC_RAW
     was specified (see below).

     If flags is set to ZIP_FL_UNCHANGED, the original unchanged filename is
     returned.  The returned string must not be modified or freed, and becomes
     invalid when archive is closed.

     Additionally, the following flags are supported:

           ZIP_FL_ENC_RAW       Return the unmodified names as it is in the
                                ZIP archive.

           ZIP_FL_ENC_GUESS     (Default.)  Guess the encoding of the name in
                                the ZIP archive and convert it to UTF-8, if
                                necessary.

           ZIP_FL_ENC_STRICT    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.
     Note: ASCII is a subset of both CP-437 and UTF-8.

RETURN VALUES
     Upon successful completion, a pointer to the name is returned.  Other-
     wise, NULL and the error code in archive is set to indicate the error.

ERRORS
     zip_get_name() fails if:

     [ZIP_ER_DELETED]   index refers to a file that has been deleted (see
                        zip_delete(3)).

     [ZIP_ER_INVAL]     index is not a valid file index in archive, or index
                        points to an added file and ZIP_FL_UNCHANGED is set.

     [ZIP_ER_MEMORY]    Required memory could not be allocated.


ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

     +---------------+------------------+
     |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
     +---------------+------------------+
     |Availability   | compress/libzip  |
     +---------------+------------------+
     |Stability      | Volatile         |
     +---------------+------------------+

SEE ALSO
     libzip(3), zip_name_locate(3)

HISTORY
     zip_get_name() was added in libzip 0.6.  In libzip 0.10 the type of index
     was changed from int to zip_uint64_t.  In libzip 0.11 the type of flags
     was changed from int to zip_flags_t.

AUTHORS
     Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>



NOTES
     Source code for open source software components in Oracle Solaris can be
     found at https://www.oracle.com/downloads/opensource/solaris-source-code-
     downloads.html.

     This software was built from source available at https://github.com/ora-
     cle/solaris-userland.  The original community source was downloaded from
     https://libzip.org/download/libzip-1.7.3.tar.gz.

     Further information about this software can be found on the open source
     community website at https://libzip.org/.

BSD                            December 18, 2017                           BSD