set zip archive flag

libzip (-lzip)

#include <zip.h>

zip_set_archive_flag(zip_t *archive, zip_flags_t flag, int value);

The zip_set_archive_flag() function sets the flag flag for the archive archive to the value value.

Supported flags are:

If this flag is cleared, the archive file will be removed if the archive is empty. If it is set, an empty archive will be created, which is not recommended by the zip specification.
If this flag is set, no modification to the archive are allowed. This flag can only be cleared if it was manually set with zip_set_archive_flag, not if the archive was opened read-only.
If this flag is set, the archive will be written in torrentzip format.

Upon successful completion 0 is returned, and -1 if an error occurred.

libzip(3), zip_get_archive_flag(3)

zip_set_archive_flag() was added in libzip 0.9. In libzip 0.11 the type of flag was changed from int to zip_flags_t. ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE and ZIP_AFL_WANT_TORRENTZIP were added in libzip 1.10.0.

Dieter Baron <> and Thomas Klausner <>