setenv(3)

NUME
setenv - modifică sau adaugă o variabilă de mediu

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdlib.h>

int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

setenv(), unsetenv():
    _POSIX_C_SOURCE >= 200112L
        || /* glibc <= 2.19: */ _BSD_SOURCE

DESCRIERE
Funcția setenv() adaugă variabila name în mediu cu valoarea value, în cazul în care name nu există deja. Dacă name există în mediu, atunci valoarea sa este schimbată cu value dacă overwrite este diferită de zero; dacă overwrite este zero, atunci valoarea lui name nu este schimbată (iar setenv() returnează o stare de succes). Această funcție face copii ale șirurilor de caractere indicate de name și value (spre deosebire de putenv(3)).

Funcția unsetenv() șterge variabila name din mediu. Dacă name nu există în mediu, atunci funcția reușește, iar mediul rămâne neschimbat.

VALOAREA RETURNATĂ
Funcțiile setenv() și unsetenv() returnează zero în caz de succes sau -1 în caz de eroare, cu errno configurată pentru a indica eroarea.

ERORI

EINVAL
    name este NULL, indică un șir de lungime 0 sau conține un caracter '='.

ENOMEM
    Memorie insuficientă pentru a adăuga o nouă variabilă în mediu.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
setenv(), unsetenv() | Siguranța firelor | MT-Unsafe const:env

STANDARDE
POSIX.1-2008.

ISTORIC
POSIX.1-2001, 4.3BSD.

Înainte de glibc 2.2.2.2, unsetenv() a fost prototipat ca returnând void; versiunile mai recente ale glibc urmează prototipul conform POSIX.1 prezentat în REZUMAT.

LIMITĂRI
POSIX.1 nu impune ca setenv() sau unsetenv() să fie reentrantă.

ERORI
POSIX.1 specifică faptul că, dacă name conține un caracter '=', atunci setenv() trebuie să eșueze cu eroarea EINVAL; cu toate acestea, versiunile de glibc anterioare glibc 2.3.4 permiteau un semn '=' în name.

CONSULTAȚI ȘI
clearenv(3), getenv(3), putenv(3), environ(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.