zip_source_zip_file |
ZIP : Fichier de source ZIP |
---|---|
libzip |
Syntaxe
zip_source_t * zip_source_zip_file(zip_t *archive, zip_t *srcarchive, zip_uint64_t srcidx, zip_flags_t flags, zip_uint64_t start, zip_int64_t length, const char *password); |
Retour
Une fois l'opération terminée avec succès, la source créée est renvoyée. Sinon, la valeur NULL est renvoyée et le code d'erreur dans archive ou error est défini pour indiquer l'erreur.
Description
Cette fonction permet de créer une source ZIP à partir d'un fichier ZIP existant.
Remarques
- Les fonctions zip_source_zip_file() et zip_source_zip_file_create() créent une source zip à partir d'un fichier dans une archive zip. Le paramètre srcarchive est l'archive zip (ouverte) contenant le fichier zip source à l'index srcidx. length octets à partir du déplacement start seront utilisés dans zip_source. Si length est -1, le reste du fichier, à partir du début, est utilisé.
- Si vous avez l'intention de copier un fichier d'une archive vers une autre, l'utilisation de l'indicateur ZIP_FL_COMPRESSED est plus efficace, car elle évite de recompresser les données du fichier.
- Les indicateurs pris en charge sont :
Constante | Description |
---|---|
ZIP_FL_COMPRESSED | Récupérer les données compressées. Cette option n'est prise en charge que si les données complètes du fichier sont demandées (début == 0 et longueur == -1). Cette option n'est pas prise en charge pour les données modifiées. La valeur par défaut est non compressée. |
ZIP_FL_ENCRYPTED | Récupérer les données chiffrées. (Cet indicateur implique ZIP_FL_COMPRESSED.) Ceci n'est pris en charge que si les données complètes du fichier sont demandées (début == 0 et longueur == -1). La valeur par défaut est déchiffrée. |
ZIP_FL_UNCHANGED | Essayez d'obtenir les données originales sans aucune modification qui aurait pu être apportée à srcarchive après son ouverture. |
Erreurs
zip_source_zip_file() et zip_source_zip_file_create() échouent si :
Constante | Description |
---|---|
ZIP_ER_CHANGED | Des données inchangées ont été demandées, mais elles ne sont pas disponibles. |
ZIP_ER_INVAL | srcarchive, srcidx, start ou length ne sont pas valides. |
ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
De plus, il peut renvoyer tous les codes d'erreur de zip_stat_index() et zip_fopen_index().
Historique
zip_source_zip_file() et zip_source_zip_file_create() ont été ajoutés dans libzip 1.10.0.
Voir également
libzip(), zip_file_add(), zip_file_replace(), zip_source()
Dernière mise à jour : Mercredi, le 5 Février 2025