zip_source_buffer_fragment_create |
ZIP : Crée un fragment du tampon source |
---|---|
libzip |
Syntaxe
zip_source_t * zip_source_buffer_fragment_create(zip_buffer_fragment_t *fragments, zip_uint64_t nfragments, int freep, 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 de données ZIP à partir de plusieurs tampons mémoire.
Remarques
- Les fonctions zip_source_buffer_fragment() et zip_source_buffer_fragment_create() créent une source zip à partir des données en fragments. nfragments spécifie le nombre de fragments. Si freep est différent de zéro, les données seront libérées lorsqu'elles ne seront plus nécessaires :
- struct zip_stat {
- zip_uint8_t *data; /* Pointeur vers les données actuelles */
- zip_uint64_t length; /* Longueur de ce fragment */
- };
- Les fragments de données vers lesquels pointent les données doivent rester valides pendant toute la durée de vie de la source créée. Les fragments eux-mêmes peuvent être supprimés une fois la source créée.
- La source peut être utilisée pour ouvrir une archive zip.
Erreurs
zip_source_buffer() et zip_source_buffer_create() échouent si :
Constante | Description |
---|---|
ZIP_ER_INVAL | nfragments est supérieur à zéro et fragments est NULL. |
ZIP_ER_MEMORY | La mémoire requise n'a pas pu être allouée. |
Historique
zip_source_buffer_fragment() et zip_source_buffer_fragment_create() ont été ajoutés dans libzip 1.4.0.
Voir également
libzip(), zip_file_add(), zip_file_replace(), zip_open_from_source(), zip_source()
Dernière mise à jour : Mercredi, le 5 Février 2025