Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       putenv - Ajouter ou modifier une variable d’environnement

SYNOPSIS

       #include <stdlib.h>

       int putenv(char *string);

   Exigences  pour les macros de test de fonctionnalité de 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 chaîne de caractères de la
       forme nom=valeur. Si nom n’existe pas dans l’environnement, la variable
       est   ajoutée.   Si   nom  existe,  alors  la  valeur  de  la  variable
       d’environnement nom est remplacée par valeur.  La  chaîne  pointée  par
       string   devient   partie  intégrante  de  l’environnement,  ainsi  une
       modification de cette chaîne change l’environnement.

VALEUR RENVOYÉE

       La fonction putenv() renvoie 0 si elle réussit, ou une valeur non nulle
       si elle échoue.

ERREURS

       ENOMEM Pas assez de mémoire.

CONFORMITÉ

       SVr4, POSIX.1-2001, BSD 4.3

NOTES

       La  fonction  putenv()  n’a  pas  besoin  d’être réentrante, celles des
       bibliothèques libc4, libc5, et glibc 2.0 ne le sont pas,  contrairement
       à celle de la glibc 2.1.

       Description  pour libc4, libc5 et glibc : Si la chaîne string est de la
       forme nom, sans contenir de signe « = », la variable du nom indiqué est
       supprimée  de  l’environnement.  Si  putenv()  doit  allouer un nouveau
       tableau environ, et si le tableau précédent avait déjà été  alloué  par
       putenv(),  alors  il  sera libéré. En aucun cas, l’espace correspondant
       aux chaînes d’environnement proprement dites ne sera libéré.

       Les  versions  des  bibliothèques  libc4,  libc5  et  glibc  2.1.2   se
       conforment  aux  spécifications  SUSv2 :  le pointeur string transmis à
       putenv()  est  utilisé.  En  particulier,  la  chaîne  devient   partie
       intégrante  de  l’environnement ;  si  on  la  modifie  par  la  suite,
       l’environnement est modifié (c’est donc une erreur  d’appeler  putenv()
       avec  une  variable  automatique  en  argument  puis  de  revenir de la
       fonction alors  que  la  chaîne  est  toujours  dans  l’environnement).
       Toutefois, les glibc 2.0 - 2.1.1 diffèrent : une copie de la chaîne est
       effectuée. D’une part cela crée une  fuite  mémoire,  d’autre  part  on
       viole  les  spécifications SUSv2. Ceci a donc été corrigé dans la glibc
       2.1.2.

       La version BSD 4.4, comme celle de la glibc  2.0,  effectue  aussi  une
       copie.

       Dans  les  spécifications  SUSv2, le const a été supprimé du prototype.
       C’est aussi le cas dans glibc 2.1.3.

VOIR AUSSI

       clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7)

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>    et    l’équipe   francophone   de
       traduction de Debian.

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