Provided by: manpages-fr_1.67.0-1_all bug

NOM

       memmem - Rechercher une sous-chaîne.

SYNOPSIS

       #define _GNU_SOURCE
       #include <string.h>

       void *memmem (const void *meule_de_foin, size_t lg_meule,
              const void *aiguille, size_t lg_aiguille);

DESCRIPTION

       La fonction memmem() recherche le début de la première occurrence de la
       sous-chaîne aiguille de longueur lg_aiguille au  sein  de  la  zone  de
       mémoire meule_de_foin de longueur lg_meule.

VALEUR RENVOYÉE

       La  fonction  memmem()  renvoie  un  pointeur  sur le début de la sous-
       chaîne, ou NULL si aucune sous-chaîne n’est trouveé.

CONFORMITÉ

       Cette fonction est une extensioin GNU.

BOGUES

       Cette fonction ne fonctionnait pas dans les bibliothèques Linux jusqu’à
       libc  5.0.9  incluse,  car  les  arguments  ‘aiguille’ (NDT: needle) et
       ‘meule_de_foin’ (NDT: haystack) étaient inversés. De plus  la  fonction
       renvoyait  un  pointeur  sur  la  fin  de  la  première  occurrence  de
       l’aiguille.  Comme la bibliothèque libc 5.0.9 était largement répandue,
       cette fonction était dangereuse à utiliser.
       Un  bug supplémentaire existait dans toutes les bibliothèques libc : Si
       la chaîne aiguille est vide, la fonction  renvoie  meule_de_foin-1  (au
       lieu  de  meule_de_foin).  La bibliothèque GlibC 2.0 était encore pire,
       puisqu’elle  renvoie  un  pointeur  sur  le   dernier   octet   de   la
       ‘meule_de_foin’. Ceci est corrigé dans la GlibC 2.1

VOIR AUSSI

       strstr(3)

TRADUCTION

       Christophe Blaess, 1996-2003.