Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip -
Gestion des chaines 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 specifiques a la glibc.
Un vecteur argz est un pointeur sur un tampon de caractere associe a
une longueur, consultez argz_add(3). Un vecteur envz est un vecteur
argz special, plus precisement un dont les chaines ont la forme
<< nom=valeur >>. Tout ce qui suit le << = >> est considere comme la
valeur. S'il n'y a pas de << = >>, la valeur correspondante est NULL
(tandis qu'un << = >> en derniere position indique une chaine vide "").
Ces fonctions permettent la manipulation des vecteurs envz.
envz_add() ajoute la chaine << name=value >> (si value n'est pas NULL)
ou << name >> (si value est NULL) au vecteur envz (*envz, *envz_len) et
met a jour *envz et *envz_len. Si une entree avec le meme name existe,
elle est supprimee.
envz_entry() recherche name dans le vecteur envz (envz, envz_len) et
renvoie son entree si elle est trouvee, ou NULL sinon.
envz_get() recherche le name dans le vecteur envz (envz, envz_len) et
renvoie sa valeur si elle est trouvee, et NULL sinon. (Notez que la
valeur peut aussi etre NULL, lorsqu'il y a une entree pour name sans le
signe << = >>).
envz_merge() ajoute les entrees de envz2 dans *envz, comme avec
envz_add(). Si override est vrai, alors les valeurs de envz2 ecraseront
celles avec le meme nom dans *envz, sinon elles seront ignorees.
envz_remove() supprime l'entree correspondant a name du vecteur
(*envz, *envz_len) si elle s'y trouve.
envz_strip supprime toutes les entrees avec une valeur NULL.
VALEUR RENVOY'EE
Toutes les fonctions envz qui font une allocation memoire ont un type
de retour error_t, et renvoient 0 en cas de succes et ENOMEM si une
erreur d'allocation se produit.
CONFORMIT'E
Ces fonctions sont des extensions GNU. Utilisez-les avec precaution.
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.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 ENVZ_ADD(3)