Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       envz_add,  envz_entry, envz_get, envz_merge, envz_remove, envz_strip - Gestion des chaînes
       d'environnement

SYNOPSIS

       #include <envz.h>

       error_t envz_add(char **envz, size_t *envz_len,
                        const char *name, const char *value);

       char *envz_entry(const char *envz, size_t *envz_len, const char *name);

       char *envz_get(const char *envz, size_t *envz_len, const char *name);

       error_t envz_merge(char **envz, size_t *envz_len,
                          const char *envz2, size_t envz2_len, int override);

       void envz_remove(char **envz, size_t *envz_len, const char *name);

       void envz_strip(char **envz, size_t *envz_len);

DESCRIPTION

       Ces fonctions sont spécifiques à la glibc.

       Un vecteur argz est un pointeur sur  un  tampon  de  caractère  associé  à  une  longueur,
       consultez  argz_add(3).  Un  vecteur envz est un vecteur argz spécial, plus précisément un
       dont les chaînes ont la forme « nom=valeur ». Tout ce qui  suit  le  « = »  est  considéré
       comme  la valeur. S'il n'y a pas de « = », la valeur correspondante est NULL (tandis qu'un
       « = » en dernière position indique une chaîne vide "").

       Ces fonctions permettent la manipulation des vecteurs envz.

       envz_add() ajoute la chaîne « name=value » (si value n'est pas NULL) ou « name » (si value
       est  NULL)  au  vecteur  envz  (*envz, *envz_len) et met à jour *envz et *envz_len. Si une
       entrée avec le même name existe, elle est supprimée.

       envz_entry() recherche name dans le vecteur envz (envz, envz_len) et renvoie son entrée si
       elle est trouvée, ou NULL sinon.

       envz_get() recherche le name dans le vecteur envz (envz, envz_len) et renvoie sa valeur si
       elle est trouvée, et NULL sinon. (Notez que la valeur peut aussi être NULL, lorsqu'il y  a
       une entrée pour name sans le signe « = »).

       envz_merge()  ajoute  les  entrées de envz2 dans *envz, comme avec envz_add(). Si override
       est vrai, alors les valeurs de envz2 écraseront celles avec le même nom dans *envz,  sinon
       elles seront ignorées.

       envz_remove() supprime l'entrée correspondant à name du vecteur (*envz, *envz_len) si elle
       s'y trouve.

       envz_strip supprime toutes les entrées avec une valeur NULL.

VALEUR RENVOYÉE

       Toutes les fonctions envz qui font une allocation mémoire ont un type de  retour  error_t,
       et renvoient 0 en cas de succès et ENOMEM si une erreur d'allocation se produit.

CONFORMITÉ

       Ces fonctions sont des extensions GNU. Utilisez-les avec précaution.

EXEMPLE

       #include <stdio.h>
       #include <stdlib.h>
       #include <envz.h>

       int
       main(int argc, char *argv[], char *envp[])
       {
           int i, e_len = 0;
           char *str;

           for (i = 0; envp[i] != NULL; i++)
               e_len += strlen(envp[i]) + 1;

           str = envz_entry(*envp, e_len, "HOME");
           printf("%s\n", str);
           str = envz_get(*envp, e_len, "HOME");
           printf("%s\n", str);
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       argz_add(3)

COLOPHON

       Cette  page  fait partie de la publication 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

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

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

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».

                                           18 mai 2007                                ENVZ_ADD(3)