.\" -*- coding: UTF-8 -*- .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL .\" %%%LICENSE_END .\" .\" 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 "1 novembre 2020" "" "Manuel du programmeur Linux" .SH NOM envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip \- Gestion des chaînes d'environnement .SH SYNOPSIS .nf \fB#include \fP .PP \fBerror_t envz_add(char **\fP\fIenvz\fP\fB, size_t *\fP\fIenvz_len\fP\fB,\fP \fB const char *\fP\fIname\fP\fB, const char *\fP\fIvalue\fP\fB);\fP .PP \fBchar *envz_entry(const char *\fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB, const char *\fP\fIname\fP\fB);\fP .PP \fBchar *envz_get(const char *\fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB, const char *\fP\fIname\fP\fB);\fP .PP \fBerror_t envz_merge(char **\fP\fIenvz\fP\fB, size_t *\fP\fIenvz_len\fP\fB,\fP \fB const char *\fP\fIenvz2\fP\fB, size_t \fP\fIenvz2_len\fP\fB, int \fP\fIoverride\fP\fB);\fP .PP \fBvoid envz_remove(char **\fP\fIenvz\fP\fB, size_t *\fP\fIenvz_len\fP\fB, const char *\fP\fIname\fP\fB);\fP .PP \fBvoid envz_strip(char **\fP\fIenvz\fP\fB, size_t *\fP\fIenvz_len\fP\fB);\fP .fi .SH DESCRIPTION Ces fonctions sont spécifiques à la glibc. .PP Un vecteur argz est un pointeur sur un tampon de caractère associé à une longueur, consultez \fBargz_add\fP(3). Un vecteur envz est un vecteur argz spécial, plus précisément un dont les chaînes ont la forme «\ nom=valeur\ ». Tout ce qui suit le «\ =\ » est considéré comme la valeur. S'il n'y a pas de «\ =\ », la valeur correspondante est NULL (tandis qu'un «\ =\ » en dernière position indique une chaîne vide ""). .PP Ces fonctions permettent la manipulation des vecteurs envz. .PP \fBenvz_add\fP() ajoute la chaîne «\ \fIname\fP=\fIvalue\fP\ » (si \fIvalue\fP n'est pas NULL) ou «\ \fIname\fP\ » (si \fIvalue\fP est NULL) au vecteur envz (\fI*envz\fP,\ \fI*envz_len\fP) et met à jour \fI*envz\fP et \fI*envz_len\fP. Si une entrée avec le même \fIname\fP existe, elle est supprimée. .PP \fBenvz_entry\fP() recherche \fIname\fP dans le vecteur envz (\fIenvz\fP,\ \fIenvz_len\fP) et renvoie son entrée si elle est trouvée, ou NULL sinon. .PP \fBenvz_get\fP() recherche le \fIname\fP dans le vecteur envz (\fIenvz\fP,\ \fIenvz_len\fP) et renvoie sa valeur si elle est trouvée, et NULL sinon. (Notez que la valeur peut aussi être NULL, lorsqu'il y a une entrée pour \fIname\fP sans le signe «\ =\ »). .PP \fBenvz_merge\fP() ajoute les entrées de \fIenvz2\fP dans \fI*envz\fP, comme avec \fBenvz_add\fP(). Si \fIoverride\fP est vrai, alors les valeurs de \fIenvz2\fP écraseront celles avec le même nom dans \fI*envz\fP, sinon elles seront ignorées. .PP \fBenvz_remove\fP() supprime l'entrée correspondant à \fIname\fP du vecteur (\fI*envz\fP,\ \fI*envz_len\fP) si elle s'y trouve. .PP \fBenvz_strip\fP supprime toutes les entrées avec une valeur NULL. .SH "VALEUR RENVOYÉE" All envz functions that do memory allocation have a return type of \fIerror_t\fP (an integer type), and return 0 for success, and \fBENOMEM\fP if an allocation error occurs. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbw27 lb lb l l l. Interface Attribut Valeur T{ \fBenvz_add\fP(), \fBenvz_entry\fP(), .br \fBenvz_get\fP(), \fBenvz_merge\fP(), .br \fBenvz_remove\fP(), \fBenvz_strip\fP() T} Sécurité des threads MT\-Safe .TE .sp 1 .SH CONFORMITÉ These functions are a GNU extension. .SH EXEMPLES .EX #include #include #include int main(int argc, char *argv[], char *envp[]) { int e_len = 0; char *str; for (int 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 .SH "VOIR AUSSI" \fBargz_add\fP(3) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier et David Prévot . Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .