zip_source_zip_create |
ZIP : Crée une source ZIP |
---|---|
libzip |
Syntaxe
zip_source_t * zip_source_zip_create(zip_t *srcarchive, zip_uint64_t srcidx, zip_flags_t flags, zip_uint64_t start, zip_int64_t len, zip_error_t *error); |
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 (interface obsolète).
Remarques
- Les fonctions zip_source_zip() et zip_source_zip_create() sont respectivement les versions obsolètes de zip_source_zip_file() ou zip_source_zip_file_create(). Si vous souhaitez obtenir les données compressées du fichier complet, utilisez :
- zip_source_zip_file(za, source_archive, source_index, ZIP_FL_COMPRESSED, 0, -1, NULL)
- Les indicateurs pris en charge sont :
Les fonctions zip_source_zip() et zip_source_zip_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. len octets à partir du déplacement start seront utilisés dans zip_source. Si len est 0 ou -1, le reste du fichier, à partir de start, est utilisé. Si start est zéro et len ??est -1, le fichier entier sera copié sans le décompresser.
Constante | Description |
---|---|
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() et zip_source_zip_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 len 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() a été ajouté dans libzip 1.0. zip_source_zip_create() a été ajouté dans libzip 1.8.0. Les deux sont obsolètes dans libzip 1.10.0. Utilisez plutôt zip_source_zip_file() ou zip_source_zip_file_create().
Voir également
libzip(), zip_file_add(), zip_file_replace(), zip_source()