1*40411Sbostic /*- 2*40411Sbostic * lstMember.c -- 3*40411Sbostic * See if a given datum is on a given list. 4*40411Sbostic * 5*40411Sbostic * Copyright (c) 1988 by the Regents of the University of California 6*40411Sbostic * Copyright (c) 1988 by Adam de Boor 7*40411Sbostic * 8*40411Sbostic * Permission to use, copy, modify, and distribute this 9*40411Sbostic * software and its documentation for any purpose and without 10*40411Sbostic * fee is hereby granted, provided that the above copyright 11*40411Sbostic * notice appears in all copies. The University of California nor 12*40411Sbostic * Adam de Boor makes any representations about the suitability of this 13*40411Sbostic * software for any purpose. It is provided "as is" without 14*40411Sbostic * express or implied warranty. 15*40411Sbostic * 16*40411Sbostic * 17*40411Sbostic */ 18*40411Sbostic #ifndef lint 19*40411Sbostic static char *rcsid = 20*40411Sbostic "$Id: lstMember.c,v 1.5 88/11/17 20:53:32 adam Exp $ SPRITE (Berkeley)"; 21*40411Sbostic #endif lint 22*40411Sbostic 23*40411Sbostic #include "lstInt.h" 24*40411Sbostic 25*40411Sbostic LstNode 26*40411Sbostic Lst_Member (l, d) 27*40411Sbostic Lst l; 28*40411Sbostic ClientData d; 29*40411Sbostic { 30*40411Sbostic List list = (List) l; 31*40411Sbostic register ListNode lNode; 32*40411Sbostic 33*40411Sbostic lNode = list->firstPtr; 34*40411Sbostic if (lNode == NilListNode) { 35*40411Sbostic return NILLNODE; 36*40411Sbostic } 37*40411Sbostic 38*40411Sbostic do { 39*40411Sbostic if (lNode->datum == d) { 40*40411Sbostic return (LstNode)lNode; 41*40411Sbostic } 42*40411Sbostic lNode = lNode->nextPtr; 43*40411Sbostic } while (lNode != NilListNode && lNode != list->firstPtr); 44*40411Sbostic 45*40411Sbostic return NILLNODE; 46*40411Sbostic } 47