manpagez: man pages & more
man zip_get_name(3)
Home | html | info | man

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.  (Only CP-437 and UTF-8 are recog-
                                nized.)

           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.


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>

BSD                           September 22, 2020                           BSD

libzip 1.8.0 - Generated Fri Jun 25 14:53:33 CDT 2021
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.