Manual Page Result
0
Command: lfind | Section: 3 | Source: Digital UNIX | File: lfind.3.gz
lsearch(3) Library Functions Manual lsearch(3)
NAME
lsearch, lfind - Perform a linear search and update
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <search.h>
void *lsearch(
const void *key,
void *base,
size_t *nelp,
size_t width,
int (*compar) (const void *, const void *));
void *lfind(
const void *key,
const void *base,
size_t *nelp,
size_t width,
int (*compar) (const void *, const void *));
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
lsearch(), lfind(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
PARAMETERS
Points to an entry containing the key that specifies the entry to be
searched for in the table. Points to the first entry in the table to
be searched. Points to an integer that specifies the current number of
entries in the table to be searched. This integer is incremented when-
ever an entry is added to the table. Specifies the size of each entry,
in bytes. Points to the user-specified function to be used for compar-
ing two table entries (strcmp(), for example). This function must re-
turn 0 (zero) when called with arguments that point to entries whose
keys compare equal, and nonzero otherwise.
DESCRIPTION
The lsearch() function performs a linear search of a table. This func-
tion returns a pointer into a table indicating where a specified key is
located in the table. When the key is not found in the table, the
function adds the key to the end of the table. Free space must be
available at the end of the table, or other program information may be
corrupted.
The lfind() function is similar to the lsearch() function, except that
when a key is not found in a table, the lfind() function does not add
an entry for the key to the table. In this case, lfind() returns a null
pointer.
NOTES
[Digital] The lsearch() function is reentrant, but care should be
taken to ensure that the function supplied as argument compar is also
reentrant.
The comparison function need not compare every byte; therefore, the ta-
ble entries can contain arbitrary data in addition to the values under-
going comparison.
RETURN VALUES
If an entry in the table matches the key, both the lsearch() and
lfind() functions return a pointer to the entry's location in the ta-
ble. Otherwise, the lfind() function returns a null pointer, and the
lsearch() function returns a pointer to the location of the newly added
table entry.
RELATED INFORMATION
Functions: bsearch(3), hsearch(3), tsearch(3), qsort(3)
Standards: standards(5) delim off
lsearch(3)