Provided by: libzip-dev_1.5.1-0ubuntu1_amd64 bug


     zip_open, zip_open_from_source — open zip archive


     libzip (-lzip)


     #include <zip.h>

     zip_t *
     zip_open(const char *path, int flags, int *errorp);

     zip_t *
     zip_open_from_source(zip_source_t *zs, int flags, zip_error_t *ze);


     The zip_open() function opens the zip archive specified by path and returns a pointer to a
     struct zip, used to manipulate the archive.  The flags are specified by or'ing the following
     values, or 0 for none of them.

           ZIP_CHECKCONS  Perform additional stricter consistency checks on the archive, and
                          error if they fail.

           ZIP_CREATE     Create the archive if it does not exist.

           ZIP_EXCL       Error if archive already exists.

           ZIP_TRUNCATE   If archive exists, ignore its current contents.  In other words, handle
                          it the same way as an empty archive.

           ZIP_RDONLY     Open archive in read-only mode.

     If an error occurs and errorp is non-NULL, it will be set to the corresponding error code.

     The zip_open_from_source() function opens a zip archive encapsulated by the zip_source zs
     using the provided flags.  In case of error, the zip_error ze is filled in.


     Upon successful completion zip_open() and zip_open_from_source() return a struct zip
     pointer.  Otherwise, NULL is returned and zip_open() sets *errorp to indicate the error,
     while zip_open_from(source) sets ze to indicate the error.


     The archive specified by path is opened unless:

     [ZIP_ER_EXISTS]    The file specified by path exists and ZIP_EXCL is set.

     [ZIP_ER_INCONS]    Inconsistencies were found in the file specified by path.  This error is
                        often caused by specifying ZIP_CHECKCONS but can also happen without it.

     [ZIP_ER_INVAL]     The path argument is NULL.

     [ZIP_ER_MEMORY]    Required memory could not be allocated.

     [ZIP_ER_NOENT]     The file specified by path does not exist and ZIP_CREATE is not set.

     [ZIP_ER_NOZIP]     The file specified by path is not a zip archive.

     [ZIP_ER_OPEN]      The file specified by path could not be opened.

     [ZIP_ER_READ]      A read error occurred; see errno for details.

     [ZIP_ER_SEEK]      The file specified by path does not allow seeks.


     libzip(3), zip_close(3), zip_error_to_str(3), zip_fdopen(3)


     zip_open() and zip_open_from_source() were added in libzip 1.0.


     Dieter Baron <> and Thomas Klausner <>