.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" based on the description in glibc source and infopages .\" .\" Corrections and additions, aeb .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH envz_add 3 "2 mai 2024" "Pagini de manual de Linux 6.8" .SH NUME envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip \- suport pentru șiruri de (variabile de) mediu .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBerror_t envz_add(char **restrict \fP\fIenvz\fP\fB, size_t *restrict \fP\fIenvz_len\fP\fB,\fP \fB const char *restrict \fP\fIname\fP\fB, const char *restrict \fP\fIvalue\fP\fB);\fP .P \fBchar *envz_entry(const char *restrict \fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB,\fP \fB const char *restrict \fP\fIname\fP\fB);\fP .P \fBchar *envz_get(const char *restrict \fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB,\fP \fB const char *restrict \fP\fIname\fP\fB);\fP .P \fBerror_t envz_merge(char **restrict \fP\fIenvz\fP\fB, size_t *restrict \fP\fIenvz_len\fP\fB,\fP \fB const char *restrict \fP\fIenvz2\fP\fB, size_t \fP\fIenvz2_len\fP\fB,\fP \fB int \fP\fIoverride\fP\fB);\fP .P \fBvoid envz_remove(char **restrict \fP\fIenvz\fP\fB, size_t *restrict \fP\fIenvz_len\fP\fB,\fP \fB const char *restrict \fP\fIname\fP\fB);\fP .P \fBvoid envz_strip(char **restrict \fP\fIenvz\fP\fB, size_t *restrict \fP\fIenvz_len\fP\fB);\fP .fi .SH DESCRIERE Aceste funcții sunt specifice glibc. .P Un vector argz este un indicator către o memorie tampon de caractere împreună cu o lungime, a se vedea \fBargz_add\fP(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 ""). .P Aceste funcții sunt destinate manipulării vectorilor envz. .P \fBenvz_add\fP() adaugă șirul de caractere „\fInume\fP=\fIvaloare\fP” (în cazul în care \fIvaloare\fP nu este NULL) sau „\fInume\fP” (în cazul în care \fIvaloare\fP este NULL) la vectorul envz (\fI*envz\fP,\ \fI*envz_len\fP) și actualizează \fI*envz\fP și \fI*envz_len\fP. În cazul în care exista o intrare cu același \fInume\fP, aceasta este eliminată. .P \fBenvz_entry\fP() caută \fInume\fP în vectorul envz (\fIenvz\fP,\ \fIenvz_len\fP) și returnează intrarea dacă este găsită sau NULL în caz contrar. .P \fBenvz_get\fP() caută \fInume\fP în vectorul envz (\fIenvz\fP,\ \fIenvz_len\fP) ș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 \fInume\fP fără semnul „=”). .P \fBenvz_merge\fP() adaugă fiecare intrare din \fIenvz2\fP la \fI*envz\fP, ca și cum ar fi făcut\-o cu \fBenvz_add\fP(). Dacă argumentul \fIoverride\fP este adevărat, atunci valorile din \fIenvz2\fP le vor înlocui pe cele cu același nume din \fI*envz\fP, altfel nu. .P \fBenvz_remove\fP() elimină intrarea pentru \fInume\fP din (\fI*envz\fP,\ \fI*envz_len\fP), dacă a existat una. .P \fBenvz_strip\fP() elimină toate intrările cu valoarea NULL. .SH "VALOAREA RETURNATĂ" Toate funcțiile envz care efectuează alocarea de memorie au un tip de returnare \fIerror_t\fP (un tip întreg) și returnează 0 în caz de succes și \fBENOMEM\fP dacă apare o eroare de alocare. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBenvz_add\fP(), \fBenvz_entry\fP(), \fBenvz_get\fP(), \fBenvz_merge\fP(), \fBenvz_remove\fP(), \fBenvz_strip\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE GNU. .SH EXEMPLE .\" SRC BEGIN (envz_add.c) .EX #include #include #include \& 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\en", str); str = envz_get(*envp, e_len, "HOME"); printf("%s\en", str); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBargz_add\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .