Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

zip_file_extra_field_delete (3)

Name

zip_file_extra_field_delete - delete extra field for file in zip

Synopsis

#include <zip.h>

int
zip_file_extra_field_delete(zip_t *archive, zip_uint64_t index,
zip_uint16_t extra_field_index, zip_flags_t flags);

int
zip_file_extra_field_delete_by_id(zip_t *archive, zip_uint64_t index,
zip_uint16_t extra_field_id, zip_uint16_t extra_field_index,
zip_flags_t flags);

Description

ZIP_FILE_EXTRA_FIELD_... BSD Library Functions Manual ZIP_FILE_EXTRA_FIELD_...

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(zip_t *archive, zip_uint64_t index,
         zip_uint16_t extra_field_index, zip_flags_t flags);

     int
     zip_file_extra_field_delete_by_id(zip_t *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 ar-
     chive.

     If extra_field_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 of the specified ID).

     Please note that due to the library design, the index of an extra field
     may be different between central directory and local file headers.  For
     this reason, it is not allowed to specify both ZIP_FL_CENTRAL and
     ZIP_FL_LOCAL in flags, except when deleting all extra fields (i.e.,
     extra_field_index being ZIP_EXTRA_FIELD_ALL).

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.


ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:




     +---------------+------------------+
     |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
     +---------------+------------------+
     |Availability   | compress/libzip  |
     +---------------+------------------+
     |Stability      | Volatile         |
     +---------------+------------------+

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

HISTORY
     zip_file_extra_field_delete() and zip_file_extra_field_delete_by_id()
     were added in libzip 0.11.

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



NOTES
     Source code for open source software components in Oracle Solaris can be
     found at https://www.oracle.com/downloads/opensource/solaris-source-code-
     downloads.html.

     This software was built from source available at https://github.com/ora-
     cle/solaris-userland.  The original community source was downloaded from
     https://libzip.org/download/libzip-1.7.3.tar.gz.

     Further information about this software can be found on the open source
     community website at https://libzip.org/.

BSD                            December 18, 2017                           BSD