Next: , Previous: dll_search, Up: Doubly Linked Lists


3.2.28 dll_search_node

Search a linked list for a node with equivalent data.

Synopsis

     #include <linklist/linklist.h>
     
     
     
DLLNode dll_search_node( DLinkList ull, void *data, int (*cmp)(const void *,const void *) );

Parameters

DLinkList ull
the list to search
void *data
the data to search for
int (*cmp)(const void *,const void *)
The address of a comparison function. Set to DLL_NULL_CMP to use the list's initial comparison function.

Description

This searchs the list for the node for which the passed data compares equivalently with the node's data. It uses the passed comparison routine, if available. If not, it uses that with which the list was initialized. If that is not available, a segmentation violation is unavoidable. In the former case the passed data need nothave the same form as the data stored in the node.

The comparison routine is called with the passed data as the first argument and the node's data as the second argument. It must return ‘-1’, ‘0’, or ‘1’ if, respectively, the first argument is less than, equal to, or greater than the second.

Returns

It returns a handle to the matching mode, or NULL if not found.