.\" Added history, aeb, 980113.
.\" 2005-05-05 mtk: added strcasestr()
.\"
-.TH STRSTR 3 2011-09-28 "GNU" "Linux Programmer's Manual"
+.TH STRSTR 3 2015-01-10 "GNU" "Linux Programmer's Manual"
.SH NAME
strstr, strcasestr \- locate a substring
.SH SYNOPSIS
The
.BR strstr ()
function finds the first occurrence of the substring
-\fIneedle\fP in the string \fIhaystack\fP.
+.I needle
+in the string
+.IR haystack .
The terminating null bytes (\(aq\\0\(aq) are not compared.
The
but ignores the case of both arguments.
.SH RETURN VALUE
These functions return a pointer to the beginning of the
-substring, or NULL if the substring is not found.
+located substring, or NULL if the substring is not found.
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR strstr ()
+function is thread-safe.
+.LP
+The
+.BR strcasestr ()
+function is thread-safe with exceptions.
+It can be safely used in multithreaded applications, as long as
+.BR setlocale (3)
+is not called to change the locale during its execution.
.SH CONFORMING TO
The
.BR strstr ()
The
.BR strcasestr ()
function is a nonstandard extension.
-.SH BUGS
-Early versions of Linux libc (like 4.5.26) would not allow
-an empty \fIneedle\fP argument for
-.BR strstr ().
-Later versions (like 4.6.27) work correctly,
-and return \fIhaystack\fP when \fIneedle\fP is empty.
+.\" .SH BUGS
+.\" Early versions of Linux libc (like 4.5.26) would not allow
+.\" an empty
+.\" .I needle
+.\" argument for
+.\" .BR strstr ().
+.\" Later versions (like 4.6.27) work correctly,
+.\" and return
+.\" .IR haystack
+.\" when
+.\" .I needle
+.\" is empty.
.SH SEE ALSO
.BR index (3),
.BR memchr (3),
+.BR memmem (3),
.BR rindex (3),
.BR strcasecmp (3),
.BR strchr (3),
.BR strspn (3),
.BR strtok (3),
.BR wcsstr (3)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.