zip_close |
ZIP : Fermer |
---|---|
libzip |
Syntaxe
int zip_close(zip_t *archive); |
Paramètres
Nom | Description |
---|---|
archive | Ce paramètre permet d'indiquer un pointeur vers l'archive ZIP (de type zip_t*) que l'on souhaite fermer. Cette archive doit avoir été ouverte au préalable à l'aide de la fonction zip_open ou d'une fonction similaire. |
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 fermer une archive ZIP en enregistrant toutes les modifications.
Remarques
- La fonction zip_close() écrit toutes les modifications apportées à l'archive sur le disque. Si l'archive ne contient aucun fichier, le fichier est complètement supprimé (aucune archive vide n'est écrite), à ??moins que l'indicateur d'archive ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE ne soit défini. En cas de succès, l'archive est libérée. Sinon, l'archive reste inchangée et doit toujours être libérée.
- Pour fermer et libérer une archive zip sans enregistrer les modifications, utilisez zip_discard.
- Les mises à jour de progression pour les interfaces graphiques peuvent être implémentées à l'aide de zip_register_progress_callback_with_state(3). L'annulation de l'écriture d'une archive pendant zip_close peut être implémentée à l'aide de zip_register_cancel_callback_with_state.
- Veuillez noter que tous les index, les informations zip_stat et les autres données sur l'archive ne sont plus valides après zip_close. Lorsque vous ouvrirez à nouveau le même fichier, il s'agira d'une structure zip_t complètement nouvelle.
Erreurs
zip_close() échouera si :
Constante | Description |
---|---|
ZIP_ER_EOF | Fin de fichier inattendue trouvée lors de la lecture d'un fichier. |
ZIP_ER_INTERNAL | La fonction de rappel d'un fichier ajouté ou remplacé a renvoyé une erreur mais n'a pas réussi à signaler laquelle. |
ZIP_ER_INVAL | Le paramètre du chemin est NULL. |
ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
ZIP_ER_NOZIP | Le fichier n'est pas une archive zip. |
ZIP_ER_READ | Une lecture de fichier a échoué. |
ZIP_ER_RENAME | Un fichier temporaire n'a pas pu être renommé avec son nom final. |
ZIP_ER_SEEK | Une recherche de fichier a échoué. |
ZIP_ER_TMPOPEN | Un fichier temporaire n'a pas pu être créé. |
ZIP_ER_WRITE | Une écriture de fichier a échoué. |
ZIP_ER_ZLIB | Une erreur s'est produite lors de la (dé)compression d'un flux avec zlib. |
De plus, toutes les erreurs renvoyées par la fonction de rappel pour les fichiers ajoutés ou remplacés seront renvoyées.
Historique
zip_close() a été ajouté dans libzip 0.6.
Voir également
libzip, zip_discard, zip_fdopen, zip_get_error, zip_open, zip_register_cancel_callback_with_state, zip_register_progress_callback_with_state, zip_set_archive_flag, zip_strerror.
Dernière mise à jour : Mercredi, le 5 Février 2025