Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
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 - Fonctions pour manipuler les vecteurs
argz
SYNOPSIS
#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);
error_t argz_delete(char **argz, size_t *argz_len, char *entry);
void argz_extract(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(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);
DESCRIPTION
Ces fonctions sont specifiques a la glibc.
Un vecteur argz est un pointeur sur un tampon de caracteres associe a
une longueur. L'interpretation voulue pour le tampon de caracteres est
un tableau de chaines ou les chaines sont separees par des octets nuls
(<< \0 >>). Si la longueur est non nulle, le dernier octet du tampon
doit etre nul.
Ces fonctions servent a manipuler les vecteurs argz. La paire (NULL, 0)
est un vecteur argz et reciproquement les vecteurs argz de longueur
zero doivent avoir un pointeur NULL. L'allocation de vecteurs argz non
nuls est faite avec malloc(3) afin que free(3) puisse etre utilisee
pour les liberer.
argz_add() ajoute la chaine str a la fin du tableau *argz et met a jour
*argz et *argz_len.
argz_add_sep() est similaire, mais decoupe la chaine str en
sous-chaines separees par le delimiteur delim. Par exemple, on peut
l'utiliser sur la liste de recherche des chemins Unix avec le
delimiteur << : >>.
argz_append() ajoute le vecteur argz (buf, buf_len) apres (*argz,
*argz_len) et met a jour *argz et *argz_len (donc *argz_len sera
augmente de buf_len).
argz_count() compte le nombre de chaines, c'est-a-dire le nombre
d'octets nuls (<< \0 >>) dans le vecteur (argz, argz_len).
argz_create() convertit un vecteur de type Unix argv termine par (char
*) 0 en un vecteur argz (*argz, *argz_len).
argz_create_sep() convertit la chaine terminee par un caractere nul str
en un vecteur argz (*argz, *argz_len) en la decoupant a chaque
occurrence du separateur sep.
argz_delete() retire la sous-chaine pointee par entry du vecteur argz
(*argz, *argz_len) et met a jour *argz et *argz_len.
argz_extract() est l'inverse de argz_create(). Elle prend le vecteur
argz (argz, argz_len) et remplit le tableau commencant a argv avec des
pointeurs sur les sous-chaines et un NULL final en creant un vecteur de
type Unix argv. Le tableau argv doit avoir assez de place pour
argz_count(argz, argz_len) + 1 pointeurs.
argz_insert() est l'opposee de argz_delete(). Elle insere l'argument
entry a la position before dans le vecteur argz (*argz, *argz_len) et
met a jour *argz et *argz_len. Si before est NULL, alors entry est
inseree a la fin.
argz_next() est une fonction pour se deplacer dans le vecteur argz. Si
entry est NULL, elle renvoie la premiere entree. Sinon, l'entree
suivante est renvoyee. Elle renvoie NULL s'il n'y a pas d'entree
suivante.
argz_replace() remplace chaque occurrence de str avec with, en
reallouant argz si necessaire. Si replace_count est non NULL,
*replace_count sera incremente du nombre de remplacements.
argz_stringify() est l'opposee de argz_create_sep(). Elle transforme le
vecteur argz en une chaine normale en remplacant tous les octets nuls
(<< \0 >>) sauf le dernier par sep.
VALEUR RENVOY'EE
Toutes les fonctions argz qui font de l'allocation memoire ont un type
de retour error_t, et renvoient 0 si elles reussissent et ENOMEM si
l'allocation echoue.
CONFORMIT'E
Ces fonctions sont des extensions GNU. Utilisez-les avec precaution.
BOGUES
Les vecteurs argz sans caractere nul final conduisent a une erreur de
segmentation.
VOIR AUSSI
envz_add(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
18 mai 2007 ARGZ_ADD(3)