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

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> >>.