Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       putenv - Ajouter ou modifier une variable d'environnement

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <stdlib.h>

       int putenv(char *string);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       putenv() :
           _XOPEN_SOURCE
               || /* glibc >= 2.19 : */ _DEFAULT_SOURCE
               || /* glibc <= 2.19 : */ _SVID_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, string est ajoutée. Si nom existe, alors la valeur  de  de  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. En cas d'erreur, une valeur non nulle  est
       renvoyée et errno contient le code d'erreur.

ERREURS

       ENOMEM Pas assez de mémoire.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────┬──────────────────────┬─────────────────────┐
       │InterfaceAttributValeur              │
       ├────────────────────────────────────────────┼──────────────────────┼─────────────────────┤
       │putenv()                                    │ Sécurité des threads │ MT-Unsafe const:env │
       └────────────────────────────────────────────┴──────────────────────┴─────────────────────┘

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, SVr2, 4.3BSD-Reno.

       La fonction putenv() n'a pas besoin d'être réentrante, celle de la glibc 2.0 ne l'est pas,
       contrairement à celle de la glibc 2.1.

       Depuis la version 2.1.2, la glibc se  conforme  aux  spécifications  SUSv2 :  le  pointeur
       string  transmis  à  putenv()  est  utilisé.  En  particulier, cette chaîne devient partie
       intégrante de l'environnement ; si elle est modifiée par la  suite,  l'environnement  sera
       modifié  (c'est  donc  une  erreur  d'appeler  putenv()  avec  une variable automatique en
       argument puis renvoyer à partir de la fonction appelante alors que la chaîne est  toujours
       dans  l'environnement). Toutefois, de la glibc 2.0 à la glibc 2.1.1, c'est différent : une
       copie de la chaîne est utilisée. Cela crée d'une part une fuite mémoire  et  d'autre  part
       viole les spécifications SUSv2.

       La  version  4.3BSDReno,  comme celle de la glibc 2.0, effectue aussi une copie ; cela est
       corrigé dans tous les BSD récents.

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

       L'implémentation de la bibliothèque C GNU fournit une extension non standard. Si string ne
       comporte pas de signe égal :

           putenv("NAME");

       alors la variable nommée est supprimée de l'environnement de l'appelant.

VOIR AUSSI

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

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>  et  Grégoire  Scano
       <gregoire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.