zip_stat |
ZIP : Statistique |
---|---|
libzip |
Syntaxe
int zip_stat(zip_t *archive, const char *fname, zip_flags_t flags, zip_stat_t *sb); |
Retour
En cas de réussite, 0 est renvoyé. Sinon, -1 est renvoyé et les informations d'erreur dans l'archive sont définies pour indiquer l'erreur.
Description
Cette fonction permet de récupérer des informations sur un fichier dans l'archive ZIP.
Remarques
- La fonction zip_stat() obtient des informations sur le fichier nommé fname dans l'archive. Le paramètre flags spécifie comment la recherche de nom doit être effectuée. Ses valeurs sont décrites dans zip_name_locate(). De plus, ZIP_FL_UNCHANGED peut être associé à lui pour demander des informations sur le fichier d'origine dans l'archive, en ignorant les modifications apportées.
- La fonction zip_stat_index() obtient des informations sur le fichier à la position index.
- Le paramètre sb est un pointeur vers une structure zip_stat (illustrée ci-dessous), dans laquelle sont placées les informations sur le fichier :
- struct zip_stat {
- zip_uint64_t valid; /* quels champs ont des valeurs valides */
- const char *name; /* nom du fichier */
- zip_uint64_t index; /* index dans les archives */
- zip_uint64_t size; /* taille du fichier (non compressé) */
- zip_uint64_t comp_size; /* taille du fichier (compressé) */
- time_t mtime; /* heure de modification */
- zip_uint32_t crc; /* CRC des données du fichier */
- zip_uint16_t comp_method; /* Méthode de compression utilisée */
- zip_uint16_t encryption_method; /* Méthode de cryptage utilisée */
- zip_uint32_t flags; /* Réservé pour une utilisation future */
- };
La structure pointée par sb doit être allouée avant d'appeler zip_stat() ou zip_stat_index().
Le champ valide de la structure spécifie quels autres champs sont valides. Vérifiez si les indicateurs définis par les définitions suivantes sont valides avant d'accéder aux champs :
Constante | Champ |
---|---|
ZIP_STAT_NAME | name |
ZIP_STAT_INDEX | index |
ZIP_STAT_SIZE | size |
ZIP_STAT_COMP_SIZE | comp_size |
ZIP_STAT_MTIME | mtime |
ZIP_STAT_CRC | crc |
ZIP_STAT_COMP_METHOD | comp_method |
ZIP_STAT_ENCRYPTION_METHOD | encryption_method |
ZIP_STAT_FLAGS | flags |
Erreurs
La fonction zip_stat() peut échouer pour l'une des erreurs spécifiées pour la routine zip_name_locate().
La fonction zip_stat_index() échoue et définit les informations d'erreur sur ZIP_ER_INVAL si l'index n'est pas valide. Si ZIP_FL_UNCHANGED n'est pas défini et qu'aucune information ne peut être obtenue à partir du rappel source, les informations d'erreur sont définies sur ZIP_ER_CHANGED.
Historique
zip_stat() a été ajouté dans libzip 0.6. Dans libzip 0.11, le type d'indicateurs a été modifié de int à zip_flags_t.
zip_stat_index() a été ajouté dans libzip 0.6. Dans libzip 0.10, le type d'index a été modifié de int à zip_uint64_t. Dans libzip 0.11, le type d'indicateurs a été modifié de int à zip_flags_t.
Voir également
libzip(), zip_get_num_entries(), zip_name_locate(), zip_stat_init()