zion - memmem
Nom
memmem - Rechercher une sous-chaîne.
Résumé
.nf #define _GNU_SOURCE #include <string.h> void *memmem (const void * meule_de_foin , size_t lg_meule ,[table][row]
Description
La fonction memmem() recherche le début de la première occurence 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.
Bugs
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 occurence 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.
Poster un commentaire