ZIP_FILE_EXTRA_FIELD_DELETE(3)

NAME
zip_file_extra_field_delete, zip_file_extra_field_delete_by_id - delete extra field for file in zip

LIBRARY
libzip (-lzip)

SYNOPSIS
#include <zip.h>
int
zip_file_extra_field_delete(struct zip *archive, zip_uint64_t index, zip_uint16_t extra_field_index, zip_flags_t flags);
int
zip_file_extra_field_delete_by_id(struct zip *archive, zip_uint64_t index, zip_uint16_t extra_field_id, zip_uint16_t extra_field_index, zip_flags_t flags);

DESCRIPTION
The zip_file_extra_field_delete() function deletes the extra field with index extra_field_index for the file at position index in the zip archive.

If index is ZIP_EXTRA_FIELD_ALL, then all extra fields will be deleted.

The following flags are supported:

ZIP_FL_CENTRAL
    Delete extra fields from the archive's central directory.

ZIP_FL_LOCAL
    Delete extra fields from the local file headers.

The zip_file_extra_field_delete_by_id() function deletes the extra field with ID (two-byte signature) extra_field_id and index extra_field_index (in other words, the extra_field_index'th extra field with ID extra_field_id) The other arguments are the same as for zip_file_extra_field_delete() (ZIP_EXTRA_FIELD_ALL will delete all extra fields the specified ID).

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

ERRORS
zip_file_extra_field_delete() and zip_file_extra_field_delete_by_id() fail if:

[ZIP_ER_NOENT]
    index is not a valid file index in archive.

SEE ALSO
libzip(3), zip_file_extra_field_get(3), zip_file_extra_field_set(3), zip_file_extra_fields_count(3)

AUTHORS
-nosplit Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>