|
|
1.1 root 1: .\" Copyright (c) 1989 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)lsearch.3 5.3 (Berkeley) 6/23/90
19: .\"
20: .TH LSEARCH 3 "June 23, 1990"
21: .UC 7
22: .SH NAME
23: lsearch, lfind, \- linear searching routines
24: .SH SYNOPSIS
25: .ft B
26: .nf
27: char *
28: lsearch(const void *key, const void *base,
29: size_t *nelp, size_t width,
30: int (*compar) (void *, void *));
31: .sp
32: char *
33: lfind(const void *key, const void *base,
34: size_t *nelp, size_t width,
35: int (*compar) (void *, void *));
36: .ft R
37: .SH DESCRIPTION
38: .ft B
39: This interface was obsolete before it was written.
40: It is available from the compatibility library, libcompat.
41: .ft R
42: .PP
43: The functions
44: .IR lsearch ,
45: and
46: .IR lfind
47: provide basic linear searching functionality.
48: .PP
49: .I Base
50: is the pointer to the beginning of an array.
51: .I Nelp
52: is the current number of elements in the array, where each element
53: is
54: .I width
55: bytes long.
56: .I Compar
57: is a comparison routine which is used to compare two elements.
58: It is called with two arguments that point to the
59: .I key
60: object and to an array member, in that order, and must return an integer
61: less than, equal to, or greater than zero if the
62: .I key
63: object is considered, respectively, to be less than, equal to, or greater
64: than the array member.
65: .PP
66: .I Lsearch
67: and
68: .I lfind
69: return a pointer into the array referenced by
70: .I base
71: where
72: .I key
73: is located.
74: If
75: .I key
76: does not exist,
77: .I lfind
78: will return a NULL pointer and
79: .I lsearch
80: will add it to the array.
81: When an element is added to the array by
82: .I lsearch
83: the location referenced by the argument
84: .I nelp
85: is incremented by one.
86: .SH "SEE ALSO"
87: bsearch(3), hsearch(3), tsearch(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.