zip_file_extra_field_delete_by_id |
ZIL : Supprime le champ extra de fichier par id |
---|---|
libzip |
Syntaxe
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); |
Retour
En cas de réussite, 0 est renvoyé. Sinon, -1 est renvoyé et le code d'erreur dans l'archive est défini pour indiquer l'erreur.
Description
Cette fonction permet de supprimer un champ supplémentaire spécifique d'un fichier ZIP en utilisant un identifiant.
Remarques
- La fonction zip_file_extra_field_delete() supprime le champ supplémentaire avec l'index extra_field_index pour le fichier à la position index dans l'archive zip.
- Si extra_field_index est ZIP_EXTRA_FIELD_ALL, alors tous les champs supplémentaires seront supprimés.
- Les indicateurs suivants sont pris en charge :
- La fonction zip_file_extra_field_delete_by_id() supprime le champ supplémentaire avec l'ID (signature à deux octets) extra_field_id et l'index extra_field_index (en d'autres termes, le champ supplémentaire extra_field_index avec l'ID extra_field_id). Les autres arguments sont les mêmes que pour zip_file_extra_field_delete() (ZIP_EXTRA_FIELD_ALL supprimera tous les champs supplémentaires de l'ID spécifié).
- Veuillez noter qu'en raison de la conception de la bibliothèque, l'index d'un champ supplémentaire peut être différent entre les en-têtes du répertoire central et du fichier local. Pour cette raison, il n'est pas autorisé de spécifier à la fois ZIP_FL_CENTRAL et ZIP_FL_LOCAL dans les indicateurs, sauf lors de la suppression de tous les champs supplémentaires (c'est-à-dire, extra_field_index étant ZIP_EXTRA_FIELD_ALL).
Constante | Description |
---|---|
ZIP_FL_CENTRAL | Supprime les champs supplémentaires du répertoire central de l'archive. |
ZIP_FL_LOCAL | Supprime les champs supplémentaires des en-têtes de fichiers locaux. |
Erreurs
zip_file_extra_field_delete() et zip_file_extra_field_delete_by_id() échouent si :
Constante | Description |
---|---|
ZIP_ER_NOENT | Index n'est pas un index de fichier valide dans l'archive. |
Historique
zip_file_extra_field_delete() et zip_file_extra_field_delete_by_id() ont été ajoutés dans libzip 0.11.
Voir également
libzip(), zip_file_extra_field_get(), zip_file_extra_field_set(), zip_file_extra_fields_count().
Dernière mise à jour : Mercredi, le 5 Février 2025