SETENV
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
setenv, unsetenv - Change ou ajoute une variable d'environnement
SYNOPSIS
#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
setenv(),
unsetenv() :
_BSD_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
DESCRIPTION
La fonction
setenv()
ajoute la variable
name
dans l'environnement, en lui attribuant la valeur
value,
si
name
n'existe pas encore.
Si
name
existe déjà dans l'environnement, alors sa valeur est modifiée en
value
si
overwrite
est non nul ;
si
overwrite
vaut zéro, la valeur de
name
n'est pas modifiée.
Cette fonction crée des copies des chaînes pointées par
name
et
value
(contrairement à
putenv(3)).
La fonction
unsetenv()
efface la variable
name
de l'environnement.
Si
name
n'existe pas dans l'environnement, la fonction réussit et
l'environnement n'est pas modifié.
VALEUR RENVOYÉE
La fonction
setenv()
renvoie zéro si elle réussit, ou -1 si
il n'y a pas assez de place dans l'environnement.
La fonction
unsetenv()
renvoie zéro si elle réussit,
et -1 si elle échoue, auquel cas
errno
contient le code de l'erreur.
ERREURS
- EINVAL
-
name
contient un caractère « = ».
CONFORMITÉ
BSD 4.3, POSIX.1-2001.
NOTES
POSIX.1-2001 ne demande pas que
setenv()
ou
unsetenv()
soit réentrante.
Avant la glibc 2.2.2,
unsetenv()
était prototypée pour retourner
void ;
les versions de la glibc plus récentes suivent le prototype
conforme à POSIX.1-2001 comme montré dans le SYNOPSIS.
BOGUES
POSIX.1-2001 indique que si
name
contient un caractère « = », alors
setenv()
devrait échouer avec l'erreur
EINVAL ;
toutefois, les versions de la glibc antérieures à 2.3.4 autorisaient
l'utilisation du caractère « = » dans
name.
VOIR AUSSI
clearenv(3),
getenv(3),
putenv(3),
environ(7)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 7 novembre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 setenv ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- CONFORMITÉ
-
- NOTES
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008