Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       argz_add,    argz_add_sep,    argz_append,   argz_count,   argz_create,
       argz_create_sep,  argz_delete,  argz_extract,  argz_insert,  argz_next,
       argz_replace,  argz_stringify  -  Fonctions pour manipuler les vecteurs
       argz

SYNOPSIS

       #include <argz.h>

       error_t argz_add(char **argz, size_t *argz_len, const char *str);

       error_t argz_add_sep(char **argz, size_t *argz_len,
                    const char *str, int delim);

       error_t argz_append(char **argz, size_t *argz_len,
                    const char *buf, size_t buf_len);

       size_t argz_count(const char *argz, size_t argz_len);

       error_t argz_create(char * const argv[], char **argz,
                    size_t *argz_len);

       error_t argz_create_sep(const char *str, int sep, char **argz,
                    size_t *argz_len);

       error_t argz_delete(char **argz, size_t *argz_len, char *entry);

       void argz_extract(char *argz, size_t argz_len, char  **argv);

       error_t argz_insert(char **argz, size_t *argz_len, char *before,
                    const char *entry);

       char *argz_next(char *argz, size_t argz_len, const char *entry);

       error_t argz_replace(char **argz, size_t *argz_len, const char *str,
                    const char *with, unsigned int *replace_count);

       void argz_stringify(char *argz, size_t len, int sep);

DESCRIPTION

       Ces fonctions sont specifiques a la glibc.

       Un vecteur argz est un pointeur sur un tampon de caracteres  associe  a
       une  longueur. L'interpretation voulue pour le tampon de caracteres est
       un tableau de chaines ou les chaines sont separees par des octets  nuls
       (<< \0 >>).  Si  la  longueur est non nulle, le dernier octet du tampon
       doit etre nul.

       Ces fonctions servent a manipuler les vecteurs argz. La paire (NULL, 0)
       est  un  vecteur  argz  et reciproquement les vecteurs argz de longueur
       zero doivent avoir un pointeur NULL. L'allocation de vecteurs argz  non
       nuls  est  faite  avec  malloc(3) afin que free(3) puisse etre utilisee
       pour les liberer.

       argz_add() ajoute la chaine str a la fin du tableau *argz et met a jour
       *argz et *argz_len.

       argz_add_sep()   est   similaire,   mais   decoupe  la  chaine  str  en
       sous-chaines separees par le delimiteur delim.  Par  exemple,  on  peut
       l'utiliser  sur  la  liste  de  recherche  des  chemins  Unix  avec  le
       delimiteur << : >>.

       argz_append() ajoute le  vecteur  argz  (buf,  buf_len)  apres  (*argz,
       *argz_len)  et  met  a  jour  *argz  et  *argz_len (donc *argz_len sera
       augmente de buf_len).

       argz_count() compte  le  nombre  de  chaines,  c'est-a-dire  le  nombre
       d'octets nuls (<< \0 >>) dans le vecteur (argz, argz_len).

       argz_create()  convertit un vecteur de type Unix argv termine par (char
       *) 0 en un vecteur argz (*argz, *argz_len).

       argz_create_sep() convertit la chaine terminee par un caractere nul str
       en  un  vecteur  argz  (*argz, *argz_len)  en  la  decoupant  a  chaque
       occurrence du separateur sep.

       argz_delete() retire la sous-chaine pointee par entry du  vecteur  argz
       (*argz, *argz_len) et met a jour *argz et *argz_len.

       argz_extract()  est  l'inverse  de argz_create(). Elle prend le vecteur
       argz (argz, argz_len) et remplit le tableau commencant a argv avec  des
       pointeurs sur les sous-chaines et un NULL final en creant un vecteur de
       type Unix argv.  Le  tableau  argv  doit  avoir  assez  de  place  pour
       argz_count(argz, argz_len) + 1 pointeurs.

       argz_insert()  est  l'opposee  de argz_delete(). Elle insere l'argument
       entry a la position before dans le vecteur argz  (*argz, *argz_len)  et
       met  a  jour  *argz  et  *argz_len. Si before est NULL, alors entry est
       inseree a la fin.

       argz_next() est une fonction pour se deplacer dans le vecteur argz.  Si
       entry  est  NULL,  elle  renvoie  la  premiere  entree. Sinon, l'entree
       suivante est renvoyee. Elle  renvoie  NULL  s'il  n'y  a  pas  d'entree
       suivante.

       argz_replace()   remplace  chaque  occurrence  de  str  avec  with,  en
       reallouant  argz  si  necessaire.  Si  replace_count  est   non   NULL,
       *replace_count sera incremente du nombre de remplacements.

       argz_stringify() est l'opposee de argz_create_sep(). Elle transforme le
       vecteur argz en une chaine normale en remplacant tous les  octets  nuls
       (<< \0 >>) sauf le dernier par sep.

VALEUR RENVOY'EE

       Toutes  les fonctions argz qui font de l'allocation memoire ont un type
       de retour error_t, et renvoient 0 si elles  reussissent  et  ENOMEM  si
       l'allocation echoue.

CONFORMIT'E

       Ces fonctions sont des extensions GNU. Utilisez-les avec precaution.

BOGUES

       Les  vecteurs  argz sans caractere nul final conduisent a une erreur de
       segmentation.

VOIR AUSSI

       envz_add(3)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2003-2006).  Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

                                  18 mai 2007                      ARGZ_ADD(3)