140412Sbostic /*
240412Sbostic  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
340412Sbostic  * All rights reserved.
440411Sbostic  *
540412Sbostic  * This code is derived from software contributed to Berkeley by
640412Sbostic  * Adam de Boor.
740411Sbostic  *
8*42741Sbostic  * %sccs.include.redist.c%
940411Sbostic  */
1040412Sbostic 
1140411Sbostic #ifndef lint
12*42741Sbostic static char sccsid[] = "@(#)lstMember.c	5.3 (Berkeley) 06/01/90";
1340412Sbostic #endif /* not lint */
1440411Sbostic 
1540412Sbostic /*-
1640412Sbostic  * lstMember.c --
1740412Sbostic  *	See if a given datum is on a given list.
1840412Sbostic  */
1940412Sbostic 
2040411Sbostic #include    "lstInt.h"
2140411Sbostic 
2240411Sbostic LstNode
2340411Sbostic Lst_Member (l, d)
2440411Sbostic     Lst	    	  	l;
2540411Sbostic     ClientData	  	d;
2640411Sbostic {
2740411Sbostic     List    	  	list = (List) l;
2840411Sbostic     register ListNode	lNode;
2940411Sbostic 
3040411Sbostic     lNode = list->firstPtr;
3140411Sbostic     if (lNode == NilListNode) {
3240411Sbostic 	return NILLNODE;
3340411Sbostic     }
3440411Sbostic 
3540411Sbostic     do {
3640411Sbostic 	if (lNode->datum == d) {
3740411Sbostic 	    return (LstNode)lNode;
3840411Sbostic 	}
3940411Sbostic 	lNode = lNode->nextPtr;
4040411Sbostic     } while (lNode != NilListNode && lNode != list->firstPtr);
4140411Sbostic 
4240411Sbostic     return NILLNODE;
4340411Sbostic }
44