Open encrypted file in zip archive for reading
libzip (-lzip)
#include <zip.h>
struct zip_file *
zip_fopen_encrypted(struct zip *archive, const char *fname, zip_flags_t flags, const char *password);
struct zip_file *
zip_fopen_index_encrypted(struct zip *archive, zip_uint64_t index, zip_flags_t flags, const char *password);
The zip_fopen_encrypted() function opens the encrypted file name fname in archive using the password given in the password argument. The flags argument are the same as for zip_fopen(3).
The zip_fopen_index_encrypted() function opens the file at position index, see zip_fopen_index(3). These functions are called automatically by zip_fopen(3); you only need to call them if you want to specify a non-default password (see zip_set_default_password(3)).
Upon successful completion, a struct zip_file pointer is returned. Otherwise, NULL is returned and the error code in archive is set to indicate the error.
[ZIP_ER_NOPASSWD]
No password was provided.
The function zip_fopen_encrypted() may also fail and set zip_err for any of the errors specified for the routine zip_fopen(3).
The function zip_fopen_index_encrypted() may also fail and set zip_err for any of the errors specified for the routine zip_fopen_index(3).
Dieter Baron <[email protected]> and Thomas Klausner <[email protected]>