Provided by: manpages-ro-dev_4.27.0-1_all 

NUME
envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip - suport pentru șiruri de (variabile
de) mediu
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <envz.h>
error_t envz_add(char **restrict envz, size_t *restrict envz_len,
const char *restrict name, const char *restrict value);
char *envz_entry(const char *restrict envz, size_t envz_len,
const char *restrict name);
char *envz_get(const char *restrict envz, size_t envz_len,
const char *restrict name);
error_t envz_merge(char **restrict envz, size_t *restrict envz_len,
const char *restrict envz2, size_t envz2_len,
int override);
void envz_remove(char **restrict envz, size_t *restrict envz_len,
const char *restrict name);
void envz_strip(char **restrict envz, size_t *restrict envz_len);
DESCRIERE
Aceste funcții sunt specifice glibc.
Un vector argz este un indicator către o memorie tampon de caractere împreună cu o lungime, a se vedea
argz_add(3). Un vector envz este un vector argz special, și anume unul în care șirurile de caractere au
forma „nume=valoare”. Tot ceea ce urmează după primul „=” este considerat a fi valoarea. Dacă nu există
niciun „=”, valoarea este considerată NULL; (în timp ce valoarea în cazul în care există un „=” la
sfârșit este șirul gol "").
Aceste funcții sunt destinate manipulării vectorilor envz.
envz_add() adaugă șirul de caractere „nume=valoare” (în cazul în care valoare nu este NULL) sau „nume”
(în cazul în care valoare este NULL) la vectorul envz (*envz, *envz_len) și actualizează *envz și
*envz_len. În cazul în care exista o intrare cu același nume, aceasta este eliminată.
envz_entry() caută nume în vectorul envz (envz, envz_len) și returnează intrarea dacă este găsită sau
NULL în caz contrar.
envz_get() caută nume în vectorul envz (envz, envz_len) și returnează valoarea dacă este găsită, sau NULL
dacă nu; (rețineți că valoarea poate fi, de asemenea, NULL, și anume atunci când există o intrare pentru
nume fără semnul „=”).
envz_merge() adaugă fiecare intrare din envz2 la *envz, ca și cum ar fi făcut-o cu envz_add(). Dacă
argumentul override este adevărat, atunci valorile din envz2 le vor înlocui pe cele cu același nume din
*envz, altfel nu.
envz_remove() elimină intrarea pentru nume din (*envz, *envz_len), dacă a existat una.
envz_strip() elimină toate intrările cu valoarea NULL.
VALOAREA RETURNATĂ
Toate funcțiile envz care efectuează alocarea de memorie au un tip de returnare error_t (un tip întreg)
și returnează 0 în caz de succes și ENOMEM dacă apare o eroare de alocare.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ envz_add(), envz_entry(), envz_get(), envz_merge(), envz_remove(), │ Siguranța firelor │ MT-Safe │
│ envz_strip() │ │ │
└─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
GNU.
EXEMPLE
#include <envz.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[], char *envp[])
{
char *str;
size_t e_len = 0;
for (size_t i = 0; envp[i] != NULL; i++)
e_len += strlen(envp[i]) + 1;
str = envz_entry(*envp, e_len, "HOME");
printf("%s\n", str);
str = envz_get(*envp, e_len, "HOME");
printf("%s\n", str);
exit(EXIT_SUCCESS);
}
CONSULTAȚI ȘI
argz_add(3)
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 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.
Pagini de manual de Linux 6.9.1 15 iunie 2024 envz_add(3)