.\" -*- 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 Noviembre 2020" "" "Manual del Programador de Linux" .SH NOMBRE envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip \- soporte para las cadenas de entorno .SH SINOPSIS .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\fInombre\fP\fB, const char *\fP\fIvalor\fP\fB);\fP .PP \fBchar *envz_entry(const char *\fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB, const char *\fP\fInombre\fP\fB);\fP .PP \fBchar *envz_get(const char *\fP\fIenvz\fP\fB, size_t \fP\fIenvz_len\fP\fB, const char *\fP\fInombre\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\fInombr\fP\fB);\fP .PP \fBvoid envz_strip(char **\fP\fIenvz\fP\fB, size_t *\fP\fIenvz_len\fP\fB);\fP .fi .SH DESCRIPCIÓN Estas funciones son específicas de glibc. .PP Un vector argz es un puntero a un buffer de caracteres junto con una longitud,véase \fBargz_add\fP(3). Un vector envz es un vector argz especial, donde las cadenas son de la forma "nombre=valor". Todo lo que sigue al primer \(aq=\(aq se considera el valor. Si no hay un carácter \(aq=\(aq, el valor se considera NULL. (Mientras que el valor en el caso en que haya un \(aq=\(aq al final es la cadena vacía "".) .PP Estas funciones se usan para manejar vectores envz. .PP \fBenvz_add\fP() añade la cadena "\fInombre\fP=\fIvalor\fP" (en el caso en que \fIvalor\fP sea distinto de NULL) o "\fInombre\fP" (en el caso en que \fIvalor\fP sea NULL) al vector envz (\fI*envz\fP,\ \fI*envz_len\fP) y actualiza \fI*envz\fP y \fI*envz_len\fP. Si ya existe una entrada con el mismo \fInombre\fP, se elimina. .PP \fBenvz_entry\fP() busca el \fInombre\fP en el vector envz (\fIenvz\fP,\ \fIenvz_len\fP) y devuelve la entrada si se encuentra, o NULL en caso contrario. .PP \fBenvz_get\fP() busca el \fInombre\fP en el vector envz (\fIenvz\fP,\ \fIenvz_len\fP) y devuelve el valor si se encuentra, o NULL en caso contrario. (Observe que el valor también puede ser NULL, este caso se da cuando hay una entrada para \fInombre\fP sin el carácter \(aq=\(aq.) .PP \fBenvz_merge\fP() añada cada entrada en \fIenvz2\fP a \fI*envz\fP, de la misma manera que \fBenvz_add\fP(). Si \fIoverride\fP es verdadero, los valores de \fIenvz2\fP reemplazarán aquellos con el mismo nombre en \fI*envz\fP. .PP \fBenvz_remove\fP() elimina la entrada para \fInombre\fP de (\fI*envz\fP,\ \fI*envz_len\fP) si existe una. .PP \fBenvz_strip\fP() elimina todas las entradas con valor NULL. .SH "VALOR DEVUELTO" 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 ATRIBUTOS Para obtener una explicación de los términos usados en esta sección, véase \fBattributes\fP(7). .TS allbox; lbw27 lb lb l l l. Interfaz Atributo Valor T{ \fBenvz_add\fP(), \fBenvz_entry\fP(), .br \fBenvz_get\fP(), \fBenvz_merge\fP(), .br \fBenvz_remove\fP(), \fBenvz_strip\fP() T} Seguridad del hilo Multi\-hilo seguro .TE .sp 1 .SH "CONFORME A" Estas funciones son extensiones de GNU. .SH EJEMPLOS .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 "VÉASE TAMBIÉN" \fBargz_add\fP(3) .SH COLOFÓN Esta página es parte de la versión 5.10 del proyecto Linux \fIman\-pages\fP. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .