Man page - envz_add(3)

Packages contains this manual

Available languages:

en fr es ja ro

Manual

envz_add

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ATRIBUTE
STANDARDE
EXEMPLE
CONSULTAȚI ȘI
TRADUCERE

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).

Image grohtml-665214-1.png

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 .