putenv(3)

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

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <stdlib.h>

int putenv(char *string);

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

putenv():
    _XOPEN_SOURCE
        || /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE

DESCRIERE
Funcția putenv() adaugă sau modifică valoarea variabilelor de mediu. Argumentul string este de forma nume=valoare. Dacă nume nu există deja în mediu, atunci string se adaugă în mediu. Dacă nume există, atunci valoarea lui nume din mediu este schimbată în valoare. Șirul indicat de string devine parte a mediului, astfel încât modificarea șirului modifică mediul.

VALOAREA RETURNATĂ
Funcția putenv() returnează zero în caz de succes. În caz de eșec, aceasta returnează o valoare diferită de zero, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

ENOMEM
    Spațiu insuficient pentru a aloca un nou mediu.

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

STANDARDE
POSIX.1-2008.

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

Nu este necesar ca funcția putenv() să fie reentrantă, iar cea din glibc 2.0 nu este, dar cea din versiunea glibc 2.1 este.

Începând cu glibc 2.1.2, implementarea glibc este conformă cu SUSv2: se utilizează indicatorul string dat în putenv(). În special, acest șir devine parte a mediului; modificarea ulterioară a acestuia va modifica mediul; (astfel, este o eroare să se apeleze putenv() cu o variabilă automată ca argument, apoi să se revină din funcția de apelare în timp ce string face încă parte din mediu). Cu toate acestea, de la glibc 2.0 la glibc 2.1.1, aceasta diferă: se utilizează o copie a șirului de caractere. Pe de o parte, acest lucru cauzează o pierdere de memorie, iar pe de altă parte încalcă SUSv2.

Versiunea 4.3BSD-Reno, ca și glibc 2.0, utilizează o copie; acest lucru este corectat în toate BSD-urile moderne.

SUSv2 elimină const din prototip, la fel și glibc 2.1.3.

Implementarea bibliotecii GNU C oferă o extensie nestandardizată. Dacă string nu include un semn egal:

    putenv("NUME");

atunci variabila numită este eliminată din mediul apelantului.

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

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută 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.