rename file in zip archive

libzip (-lzip)

#include <zip.h>

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

The file at position index in the zip archive archive is renamed to name. The flags argument can be any of:
Guess encoding of name (default). (Only CP-437 and UTF-8 are recognized.)
Interpret name as UTF-8.
Interpret name as code page 437 (CP-437).

Upon successful completion 0 is returned. Otherwise, -1 is returned and the error code in archive is set to indicate the error.

zip_file_rename() fails if:
The file to be renamed has been deleted from the archive.
There is already a file called name in the archive.
index is not a valid file index in archive, name is NULL, the empty string, or not a valid UTF-8 encoded string. Also a file cannot be renamed to a directory or vice versa. Directories are denoted by a trailing slash.

libzip(3), zip_unchange(3)

zip_file_rename() was added in libzip 0.11.

Dieter Baron <> and Thomas Klausner <>