summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/lsearch.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/stdlib/lsearch.3')
-rw-r--r--src/lib/libc/stdlib/lsearch.3103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/lib/libc/stdlib/lsearch.3 b/src/lib/libc/stdlib/lsearch.3
new file mode 100644
index 0000000000..2bef4c9aad
--- /dev/null
+++ b/src/lib/libc/stdlib/lsearch.3
@@ -0,0 +1,103 @@
1.\" Copyright (c) 1989, 1991, 1993
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\" may be used to endorse or promote products derived from this software
14.\" without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\" @(#)lsearch.3 8.1 (Berkeley) 6/4/93
29.\"
30.Dd June 4, 1993
31.Dt LSEARCH 3
32.Os
33.Sh NAME
34.Nm lsearch ,
35.Nm lfind
36.Nd linear searching routines
37.Sh SYNOPSIS
38.Ft char *
39.Fn lsearch "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)"
40.Ft char *
41.Fn lfind "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)"
42.Sh DESCRIPTION
43The functions
44.Fn lsearch ,
45and
46.Fn lfind
47provide basic linear searching functionality.
48.Pp
49.Fa base
50is the pointer to the beginning of an array.
51The argument
52.Fa nelp
53is the current number of elements in the array, where each element
54is
55.Fa width
56bytes long.
57The
58.Fa compar
59function
60is a comparison routine which is used to compare two elements.
61It takes two arguments which point to the
62.Fa key
63object and to an array member, in that order, and must return an integer
64less than, equivalent to, or greater than zero if the
65.Fa key
66object is considered, respectively, to be less than, equal to, or greater
67than the array member.
68.Pp
69The
70.Fn lsearch
71and
72.Fn lfind
73functions
74return a pointer into the array referenced by
75.Fa base
76where
77.Fa key
78is located.
79If
80.Fa key
81does not exist,
82.Fn lfind
83will return a null pointer and
84.Fn lsearch
85will add it to the array.
86When an element is added to the array by
87.Fn lsearch
88the location referenced by the argument
89.Fa nelp
90is incremented by one.
91.Sh SEE ALSO
92.Xr bsearch 3 ,
93.Xr db 3
94.Sh STANDARDS
95The
96.Fn lsearch
97and
98.Fn lfind
99functions conform to the
100.St -p1003.1-01
101and
102.St -xpg4.3 .
103specifications.