envz_add(3) Library Functions Manual envz_add(3) NOMBRE envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip - soporte para las cadenas de entorno BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #include 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); DESCRIPCION Estas funciones son especificas de glibc. Un vector argz es un puntero a un buffer de caracteres junto con una longitud,vease argz_add(3). Un vector envz es un vector argz especial, donde las cadenas son de la forma "nombre=valor". Todo lo que sigue al primer '=' se considera el valor. Si no hay un caracter '=', el valor se considera NULL. (Mientras que el valor en el caso en que haya un '=' al final es la cadena vacia "".) Estas funciones se usan para manejar vectores envz. envz_add() anade la cadena "nombre=valor" (en el caso en que valor sea distinto de NULL) o "nombre" (en el caso en que valor sea NULL) al vector envz (*envz, *envz_len) y actualiza *envz y *envz_len. Si ya existe una entrada con el mismo nombre, se elimina. envz_entry() busca el nombre en el vector envz (envz, envz_len) y devuelve la entrada si se encuentra, o NULL en caso contrario. envz_get() busca el nombre en el vector envz (envz, envz_len) y devuelve el valor si se encuentra, o NULL en caso contrario. (Observe que el valor tambien puede ser NULL, este caso se da cuando hay una entrada para nombre sin el caracter '='.) envz_merge() anada cada entrada en envz2 a *envz, de la misma manera que envz_add(). Si override es verdadero, los valores de envz2 reemplazaran aquellos con el mismo nombre en *envz. envz_remove() elimina la entrada para nombre de (*envz, *envz_len) si existe una. envz_strip() elimina todas las entradas con valor NULL. VALOR DEVUELTO All envz functions that do memory allocation have a return type of error_t (an integer type), and return 0 for success, and ENOMEM if an allocation error occurs. ATRIBUTOS Para obtener una explicacion de los terminos usados en esta seccion, vease attributes(7). +-----------------------------+--------------------+-------------------+ |Interfaz | Atributo | Valor | +-----------------------------+--------------------+-------------------+ |envz_add(), envz_entry(), | Seguridad del hilo | Multi-hilo seguro | |envz_get(), envz_merge(), | | | |envz_remove(), envz_strip() | | | +-----------------------------+--------------------+-------------------+ ESTANDARES GNU. EJEMPLOS #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\n", str); str = envz_get(*envp, e_len, "HOME"); printf("%s\n", str); exit(EXIT_SUCCESS); } VEASE TAMBIEN argz_add(3) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Miguel Perez Ibars Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de manual de Linux 6.06 31 Octubre 2023 envz_add(3)