]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/lsearch.3
Revert "src.mk, All pages: Move man* to man/"
[thirdparty/man-pages.git] / man3 / lsearch.3
diff --git a/man3/lsearch.3 b/man3/lsearch.3
new file mode 100644 (file)
index 0000000..8b6a1e3
--- /dev/null
@@ -0,0 +1,88 @@
+.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\" Corrected prototype and include, aeb, 990927
+.TH LSEARCH 3  2021-03-22 "Linux man-pages (unreleased)"
+.SH NAME
+lfind, lsearch \- linear search of an array
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <search.h>
+.PP
+.BI "void *lfind(const void *" key ", const void *" base ", size_t *" nmemb ,
+.BI "            size_t " size ", int(*" compar ")(const void *, const void *));"
+.BI "void *lsearch(const void *" key ", void *" base ", size_t *" nmemb ,
+.BI "            size_t " size ", int(*" compar ")(const void *, const void *));"
+.fi
+.SH DESCRIPTION
+.BR lfind ()
+and
+.BR lsearch ()
+perform a linear search for
+.I key
+in the array
+.I base
+which has
+.I *nmemb
+elements of
+.I size
+bytes each.
+The comparison function referenced by
+.I compar
+is expected to have two arguments which point to the
+.I key
+object and to an array member, in that order, and which
+returns zero if the
+.I key
+object matches the array member, and
+nonzero otherwise.
+.PP
+If
+.BR lsearch ()
+does not find a matching element, then the
+.I key
+object is inserted at the end of the table, and
+.I *nmemb
+is
+incremented.
+In particular, one should know that a matching element
+exists, or that more room is available.
+.SH RETURN VALUE
+.BR lfind ()
+returns a pointer to a matching member of the array, or
+NULL if no match is found.
+.BR lsearch ()
+returns a pointer to
+a matching member of the array, or to the newly added member if no
+match is found.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.nh
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR lfind (),
+.BR lsearch ()
+T}     Thread safety   MT-Safe
+.TE
+.hy
+.ad
+.sp 1
+.SH STANDARDS
+POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
+Present in libc since libc-4.6.27.
+.SH BUGS
+The naming is unfortunate.
+.SH SEE ALSO
+.BR bsearch (3),
+.BR hsearch (3),
+.BR tsearch (3)