Section courante

A propos

Section administrative du site

zip_file_get_external_attributes

ZIP : Demande les attributs externes de fichier
libzip

Syntaxe

int zip_file_get_external_attributes(zip_t *archive, zip_uint64_t index, zip_flags_t flags, zip_uint8_t *opsys, zip_uint32_t *attributes);

Retour

En cas de réussite, la valeur renvoyée est 0. En cas d'erreur, la valeur renvoyée est -1 et le code d'erreur dans l'archive est défini pour indiquer l'erreur.

Description

Cette fonction permet de récupérer les attributs externes d'un fichier dans une archive ZIP.

Remarques

Erreurs

zip_file_get_external_attributes() échoue si :

Nom Description
ZIP_ER_INVAL index n'est pas un index de fichier valide dans l'archive.

Historique

zip_file_get_external_attributes() a été ajouté dans libzip 0.11.2.

Exemples

Le code suivant peut être utilisé pour développer des attributs si le système d'exploitation est ZIP_OPSYS_DOS :

  1. #include <sys/stat.h>
  2.  
  3. #define FA_RDONLY       0x01            // FILE_ATTRIBUTE_READONLY
  4. #define FA_DIREC        0x10            // FILE_ATTRIBUTE_DIRECTORY
  5.  
  6. static mode_t
  7. _zip_dos_attr2mode(zip_uint32_t attr) {
  8.    mode_t m = S_IRUSR | S_IRGRP | S_IROTH;
  9.    if (0 == (attr & FA_RDONLY))
  10.       m |= S_IWUSR | S_IWGRP | S_IWOTH;
  11.  
  12.    if (attr & FA_DIREC)
  13.       m = (S_IFDIR | (m & ~S_IFMT)) | S_IXUSR | S_IXGRP | S_IXOTH;
  14.  
  15.    return m;
  16. }

Voir également

libzip(), zip_file_set_external_attributes()



Dernière mise à jour : Mercredi, le 5 Février 2025