.\" -*- 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 ARGZ_ADD 3 "1 Noviembre 2020" "" "Manual del Programador de Linux" .SH NOMBRE argz_add, argz_add_sep, argz_append, argz_count, argz_create, argz_create_sep, argz_delete, argz_extract, argz_insert, argz_next, argz_replace, argz_stringify \- funciones para manejar una lista argz .SH SINOPSIS .nf \fB#include \fP .PP \fBerror_t argz_add(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB, const char *\fP\fIstr\fP\fB);\fP .PP \fBerror_t argz_add_sep(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB,\fP \fB const char *\fP\fIstr\fP\fB, int \fP\fIdelim\fP\fB);\fP .PP \fBerror_t argz_append(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB,\fP \fB const char *\fP\fIbuf\fP\fB, size_t \fP\fIbuf_len\fP\fB);\fP .PP \fBsize_t argz_count(const char *\fP\fIargz\fP\fB, size_t \fP\fIargz_len\fP\fB);\fP .PP \fBerror_t argz_create(char * const \fP\fIargv\fP\fB[], char **\fP\fIargz\fP\fB,\fP \fB size_t *\fP\fIargz_len\fP\fB);\fP .PP \fBerror_t argz_create_sep(const char *\fP\fIstr\fP\fB, int \fP\fIsep\fP\fB, char **\fP\fIargz\fP\fB,\fP \fB size_t *\fP\fIargz_len\fP\fB);\fP .PP \fBvoid argz_delete(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB, char *\fP\fIentry\fP\fB);\fP .PP \fBvoid argz_extract(const char *\fP\fIargz\fP\fB, size_t \fP\fIargz_len\fP\fB, char **\fP\fIargv\fP\fB);\fP .PP \fBerror_t argz_insert(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB, char *\fP\fIbefore\fP\fB,\fP \fB const char *\fP\fIentry\fP\fB);\fP .PP \fBchar *argz_next(const char *\fP\fIargz\fP\fB, size_t \fP\fIargz_len\fP\fB, const char *\fP\fIentry\fP\fB);\fP .PP \fBerror_t argz_replace(char **\fP\fIargz\fP\fB, size_t *\fP\fIargz_len\fP\fB, const char *\fP\fIstr\fP\fB,\fP \fB const char *\fP\fIwith\fP\fB, unsigned int *\fP\fIreplace_count\fP\fB);\fP .PP \fBvoid argz_stringify(char *\fP\fIargz\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIsep\fP\fB);\fP .fi .SH DESCRIPCIÓN Estas funciones son específicas de glibc. .PP An argz vector is a pointer to a character buffer together with a length. The intended interpretation of the character buffer is an array of strings, where the strings are separated by null bytes (\(aq\e0\(aq). If the length is nonzero, the last byte of the buffer must be a null byte. .PP These functions are for handling argz vectors. The pair (NULL,0) is an argz vector, and, conversely, argz vectors of length 0 must have null pointer. Allocation of nonempty argz vectors is done using \fBmalloc\fP(3), so that \fBfree\fP(3) can be used to dispose of them again. .PP \fBargz_add\fP() añade la cadena \fIstr\fP al final del array \fI*argz\fP, y actualiza \fI*argz\fP y \fI*argz_len\fP. .PP \fBargz_add_sep\fP() es similar, pero separa la cadena \fIstr\fP en dos subcadenas separadas por el delimitador \fIdelim\fP. Por ejemplo, se puede utilizar está función en una ruta de búsqueda UNIX con el delimitador \(aq:\(aq. .PP \fBargz_append\fP() añade el vector argz (\fIbuf\fP,\fIbuf_len\fP) después de (\fI*argz\fP,\ \fI*argz_len\fP) y actualiza \fI*argz\fP y \fI*argz_len\fP. (Así, \fI*argz_len\fP se incrementará en \fIbuf_len\fP.) .PP \fBargz_count\fP() counts the number of strings, that is, the number of null bytes (\(aq\e0\(aq), in (\fIargz\fP,\ \fIargz_len\fP). .PP \fBargz_create\fP() convierte un vector de argumentos al estilo UNIX \fIargv\fP, terminado en \fI(char\ *)\ 0\fP, en un vector argz (\fI*argz\fP,\ \fI*argz_len\fP). .PP \fBargz_create_sep\fP() converts the null\-terminated string \fIstr\fP into an argz vector (\fI*argz\fP,\ \fI*argz_len\fP) by breaking it up at every occurrence of the separator \fIsep\fP. .PP \fBargz_delete\fP() elimina la subcadena apuntada por \fIentry\fP del vector argz (\fI*argz\fP,\ \fI*argz_len\fP) y actualiza \fI*argz\fP y \fI*argz_len\fP. .PP \fBargz_extract\fP() es la contraria de \fBargz_create\fP(). Toma un vector argz (\fIargz\fP,\ \fIargz_len\fP) y rellena el array que comienza en \fIargv\fP con punteros a las subcadenas, añadiendo un NULL al final, formando un vector argv al estilo UNIX. El array \fIargv\fP debe tener suficiente espacio para \fIargz_count\fP (\fIargz\fP, \fIargz_len\fP) + 1 punteros. .PP \fBargz_insert\fP() es la opuesta de \fBargz_delete\fP(). Inserta el argumento \fIentry\fP en la posición \fIbefore\fP en el vector argz (\fI*argz\fP,\ \fI*argz_len\fP) y actualiza \fI*argz\fP y \fI*argz_len\fP. Si \fIbefore\fP es NULL, \fIentry\fP será insertada al final. .PP \fBargz_next\fP() is a function to step through the argz vector. If \fIentry\fP is NULL, the first entry is returned. Otherwise, the entry following is returned. It returns NULL if there is no following entry. .PP \fBargz_replace\fP() reemplaza cada ocurrencia de \fIstr\fP con \fIwith\fP, reasignando argz si es necesario. Si \fIreplace_count\fP es distinto de NULL, \fI*replace_count\fP se incrementará con el número de reemplazos. .PP \fBargz_stringify\fP() is the opposite of \fBargz_create_sep\fP(). It transforms the argz vector into a normal string by replacing all null bytes (\(aq\e0\(aq) except the last by \fIsep\fP. .SH "VALOR DEVUELTO" All argz 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; lbw33 lb lb l l l. Interfaz Atributo Valor T{ \fBargz_add\fP(), \fBargz_add_sep\fP(), .br \fBargz_append\fP(), \fBargz_count\fP(), .br \fBargz_create\fP(), \fBargz_create_sep\fP(), .br \fBargz_delete\fP(), \fBargz_extract\fP(), .br \fBargz_insert\fP(), \fBargz_next\fP(), .br \fBargz_replace\fP(), \fBargz_stringify\fP() T} Seguridad del hilo Multi\-hilo seguro .TE .sp 1 .SH "CONFORME A" Estas funciones son extensiones de GNU. .SH ERRORES Argz vectors without a terminating null byte may lead to Segmentation Faults. .SH "VÉASE TAMBIÉN" \fBenvz_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 .