|Linux & Unix Commands - Search Man Pages
MEMMEM(3) Linux Programmer's Manual MEMMEM(3)
memmem - locate a substring
void *memmem(const void *haystack, size_t haystacklen,
const void *needle, size_t needlelen);
The memmem() function finds the start of the first occurrence of the substring needle of
length needlelen in the memory area haystack of length haystacklen.
The memmem() function returns a pointer to the beginning of the substring, or NULL if the
substring is not found.
This function is a GNU extension.
This function was broken in Linux libraries up to and including libc 5.0.9; there the
`needle' and `haystack' arguments were interchanged, and a pointer to the end of the first
occurrence of needle was returned. Since libc 5.0.9 is still widely used, this is a dan-
gerous function to use.
Both old and new libc's have the bug that if needle is empty haystack-1 (instead of
haystack) is returned. And glibc 2.0 makes it worse, and returns a pointer to the last
byte of `haystack'. This is fixed in glibc 2.1.
GNU 1998-01-13 MEMMEM(3)
All times are GMT -4. The time now is 02:09 AM.