ARGZ_ADD(3)

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

SINOPSIS
#include <argz.h>

error_t argz_add(char **argz, size_t *argz_len, const char *str);

error_t argz_add_sep(char **argz, size_t *argz_len,
                     const char *str, int delim);

error_t argz_append(char **argz, size_t *argz_len,
                     const char *buf, size_t buf_len);

size_t argz_count(const char *argz, size_t argz_len);

error_t argz_create(char * const argv[], char **argz,
                     size_t *argz_len);

error_t argz_create_sep(const char *str, int sep, char **argz,
                     size_t *argz_len);

void argz_delete(char **argz, size_t *argz_len, char *entry);

void argz_extract(const char *argz, size_t argz_len, char **argv);

error_t argz_insert(char **argz, size_t *argz_len, char *before,
                     const char *entry);

char *argz_next(const char *argz, size_t argz_len, const char *entry);

error_t argz_replace(char **argz, size_t *argz_len, const char *str,
                     const char *with, unsigned int *replace_count);

void argz_stringify(char *argz, size_t len, int sep);

DESCRIPCIÓN
Estas funciones son específicas de glibc.

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 ('\0'). If the length is nonzero, the last byte of the buffer must be a null byte.

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 malloc(3), so that free(3) can be used to dispose of them again.

argz_add() añade la cadena str al final del array *argz, y actualiza *argz y *argz_len.

argz_add_sep() es similar, pero separa la cadena str en dos subcadenas separadas por el delimitador delim. Por ejemplo, se puede utilizar está función en una ruta de búsqueda UNIX con el delimitador ':'.

argz_append() añade el vector argz (buf,buf_len) después de (*argz, *argz_len) y actualiza *argz y *argz_len. (Así, *argz_len se incrementará en buf_len.)

argz_count() counts the number of strings, that is, the number of null bytes ('\0'), in (argz, argz_len).

argz_create() convierte un vector de argumentos al estilo UNIX argv, terminado en (char *) 0, en un vector argz (*argz, *argz_len).

argz_create_sep() converts the null-terminated string str into an argz vector (*argz, *argz_len) by breaking it up at every occurrence of the separator sep.

argz_delete() elimina la subcadena apuntada por entry del vector argz (*argz, *argz_len) y actualiza *argz y *argz_len.

argz_extract() es la contraria de argz_create(). Toma un vector argz (argz, argz_len) y rellena el array que comienza en argv con punteros a las subcadenas, añadiendo un NULL al final, formando un vector argv al estilo UNIX. El array argv debe tener suficiente espacio para argz_count (argz, argz_len) + 1 punteros.

argz_insert() es la opuesta de argz_delete(). Inserta el argumento entry en la posición before en el vector argz (*argz, *argz_len) y actualiza *argz y *argz_len. Si before es NULL, entry será insertada al final.

argz_next() is a function to step through the argz vector. If entry is NULL, the first entry is returned. Otherwise, the entry following is returned. It returns NULL if there is no following entry.

argz_replace() reemplaza cada ocurrencia de str con with, reasignando argz si es necesario. Si replace_count es distinto de NULL, *replace_count se incrementará con el número de reemplazos.

argz_stringify() is the opposite of argz_create_sep(). It transforms the argz vector into a normal string by replacing all null bytes ('\0') except the last by sep.

VALOR DEVUELTO
All argz 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 explicación de los términos usados en esta sección, véase attributes(7).
Interfaz | Atributo | Valor
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() | Seguridad del hilo | Multi-hilo seguro

CONFORME A
These functions are a GNU extension.

ERRORES
Argz vectors without a terminating null byte may lead to Segmentation Faults.

VÉASE TAMBIÉN
envz_add(3)

COLOFÓN
Esta página es parte de la versión 5.10 del proyecto Linux man-pages. 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/.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es> Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org>..