]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/memmem.3
rename.2: SEE ALSO: add rename(1)
[thirdparty/man-pages.git] / man3 / memmem.3
index 7b97d2db09ee6af3bfca63578e0029aacde5b8ea..8c258d87fb4c7f7ab221e671fee8871ff49a44ee 100644 (file)
 .\"     386BSD man pages
 .\" Modified Sat Jul 24 18:50:48 1993 by Rik Faith (faith@cs.unc.edu)
 .\" Interchanged 'needle' and 'haystack'; added history, aeb, 980113.
-.TH MEMMEM 3  2008-12-05 "GNU" "Linux Programmer's Manual"
+.TH MEMMEM 3  2017-03-13 "GNU" "Linux Programmer's Manual"
 .SH NAME
 memmem \- locate a substring
 .SH SYNOPSIS
 .nf
 .BR "#define _GNU_SOURCE" "         /* See feature_test_macros(7) */"
 .B #include <string.h>
-.sp
+.PP
 .BI "void *memmem(const void *" haystack ", size_t " haystacklen ,
 .BI "             const void *" needle ", size_t " needlelen  );
 .fi
@@ -56,29 +56,46 @@ The
 .BR memmem ()
 function returns a pointer to the beginning of the
 substring, or NULL if the substring is not found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR memmem ()
+T}     Thread safety   MT-Safe
+.TE
 .SH CONFORMING TO
-This function is a GNU extension.
+This function is not specified in POSIX.1,
+but is present on a number of other systems.
 .SH BUGS
-This function was broken in Linux libraries up to and including libc 5.0.9;
-there the
-.IR needle
-and
-.I haystack
-arguments were interchanged,
-and a pointer to the end of the first occurrence of
-.I needle
-was returned.
-
-Both old and new libc's have the bug that if
+.\" This function was broken in Linux libraries up to and including libc 5.0.9;
+.\" there the
+.\" .IR needle
+.\" and
+.\" .I haystack
+.\" arguments were interchanged,
+.\" and a pointer to the end of the first occurrence of
+.\" .I needle
+.\" was returned.
+.\"
+.\" Both old and new libc's have the bug that if
+.\" .I needle
+.\" is empty,
+.\" .I haystack\-1
+.\" (instead of
+.\" .IR haystack )
+.\" is returned.
+In glibc 2.0, if
 .I needle
 is empty,
-.I haystack\-1
-(instead of
-.IR haystack )
-is returned.
-And glibc 2.0 makes it worse, returning a pointer to the
-last byte of
+.BR memmem ()
+returns a pointer to the last byte of
 .IR haystack .
 This is fixed in glibc 2.1.
 .SH SEE ALSO
+.BR bstring (3),
 .BR strstr (3)