Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
putenv - Ajouter ou modifier une variable d'environnement
SYNOPSIS
#include <stdlib.h>
int putenv(char *string);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
putenv() : _SVID_SOURCE || _XOPEN_SOURCE
DESCRIPTION
La fonction putenv() ajoute ou modifie la valeur d'une variable
d'environnement. L'argument string est une chaine de caracteres de la
forme nom=valeur. Si nom n'existe pas dans l'environnement, la variable
est ajoutee. Si nom existe, alors la valeur de la variable
d'environnement nom est remplacee par valeur. La chaine pointee par
string devient partie integrante de l'environnement, ainsi une
modification de cette chaine change l'environnement.
VALEUR RENVOY'EE
La fonction putenv() renvoie 0 si elle reussit, ou une valeur non nulle
si elle echoue.
ERREURS
ENOMEM Pas assez de memoire.
CONFORMIT'E
SVr4, POSIX.1-2001, BSD 4.3.
NOTES
La fonction putenv() n'a pas besoin d'etre reentrante, celles des
bibliotheques libc4, libc5, et glibc 2.0 ne le sont pas, contrairement
a celle de la glibc 2.1.
Description pour libc4, libc5 et glibc : Si la chaine string est de la
forme nom, sans contenir de signe << = >>, la variable du nom indique
est supprimee de l'environnement. Si putenv() doit allouer un nouveau
tableau environ, et si le tableau precedent avait deja ete alloue par
putenv(), alors il sera libere. En aucun cas, l'espace correspondant
aux chaines d'environnement proprement dites ne sera libere.
Les versions des bibliotheques libc4, libc5 et glibc 2.1.2 se
conforment aux specifications SUSv2 : le pointeur string transmis a
putenv() est utilise. En particulier, la chaine devient partie
integrante de l'environnement ; si on la modifie par la suite,
l'environnement est modifie (c'est donc une erreur d'appeler putenv()
avec une variable automatique en argument puis de revenir de la
fonction alors que la chaine est toujours dans l'environnement).
Toutefois, les glibc 2.0 - 2.1.1 different : une copie de la chaine est
effectuee. D'une part cela cree une fuite memoire, d'autre part on
viole les specifications SUSv2. Ceci a donc ete corrige dans la glibc
2.1.2.
La version BSD 4.4, comme celle de la glibc 2.0, effectue aussi une
copie.
Dans les specifications SUSv2, le const a ete supprime du prototype.
C'est aussi le cas dans glibc 2.1.3.
VOIR AUSSI
clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7)
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). Nicolas
Francois 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> >>.