argz_next

ARGZ_ADD(3)                Library Functions Manual                ARGZ_ADD(3)



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 spécifiques à la glibc.

       Un vecteur argz est un pointeur sur un tampon de caractères associé
       à une longueur. L'interprétation voulue pour le tampon de caractères
       est un tableau de chaînes où les chaînes sont séparées par des
       octets nuls. Si la longueur est non nulle, le dernier octet du tampon
       doit être nul.

       Ces fonctions servent à manipuler les vecteurs argz. La paire (NULL,
       0)  est un vecteur argz et réciproquement les vecteurs argz de
       longueur zéro doivent avoir un pointeur NULL. L'allocation de vecteurs
       argz non nuls est faite avec malloc(3) afin que free(3) puisse être
       utilisée pour les libérer.

       argz_add() ajoute la chaîne str à  la fin du tableau *argz et met Ã
       jour *argz et *argz_len.

       argz_add_sep() est similaire, mais découpe la chaîne str en
       sous-chaînes séparées par le délimiteur delim. Par exemple, on peut
       l'utiliser sur la liste de recherche des chemins Unix avec le
       délimiteur « : ».

       argz_append() ajoute le vecteur argz (buf, buf_len) après (*argz,
       *argz_len) et met à jour *argz et *argz_len (donc *argz_len sera
       augmenté de buf_len).

       argz_count() compte le nombre de chaînes, c'est-à -dire le nombre
       d'octets nuls (« \0 ») dans le vecteur (argz, argz_len).

       argz_create() convertit un vecteur de type Unix argv terminé par (char
       *) 0 en un vecteur argz (*argz, *argz_len).

       argz_create_sep() convertit la chaîne terminée par un caractère nul
       str en un vecteur argz (*argz, *argz_len) en la découpant à chaque
       occurrence du séparateur sep.

       argz_delete() retire la sous-chaîne pointée par entry du vecteur argz
       (*argz, *argz_len) et met à 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 commençant à argv avec
       des pointeurs sur les sous-chaînes et un NULL final en créant 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'opposée de argz_delete(). Elle insère l'argument
       entry à la position before dans le vecteur argz (*argz, *argz_len) et
       met à jour *argz et *argz_len. Si before est NULL, alors entry est
       insérée à la fin.

       argz_next() est une fonction pour se déplacer dans le vecteur argz. Si
       entry est NULL, elle renvoie la première entrée. Sinon, l'entrée
       suivante est renvoyée. Elle renvoie NULL s'il n'y a pas d'entrée
       suivante.

       argz_replace() remplace chaque occurrence de str avec with, en
       ré-allouant argz si nécessaire. Si replace_count est non NULL,
       *replace_count sera incrémenté du nombre de remplacements.

       argz_stringify() est l'opposée de argz_create_sep(). Elle transforme
       le vecteur argz en une chaîne normale en remplaçant tous les octets
       nuls sauf le dernier par sep.

VALEUR RENVOYÃE
       Toutes les fonctions argz qui font de l'allocation mémoire ont un type
       de retour error_t, et renvoient 0 si elles réussissent et ENOMEM si
       l'allocation échoue.

BOGUES
       Les vecteurs argz sans caractère nul final conduisent à une erreur de
       segmentation.

CONFORMITÃ Ã
       Ces fonctions sont des extensions GNU. Utilisez-les avec précaution.

VOIR AUSSI
       envz(3)

TRADUCTION
       Cette page de manuel a été traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006, et mise Ã
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian
       sont directement gérées par Florentin Duneau <fduneau@gmail.com> et
       l'équipe francophone de traduction de Debian.

       Veuillez signaler toute erreur de traduction en écrivant Ã
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».



                                                                   ARGZ_ADD(3)