1 /*
2  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Adam de Boor.
7  *
8  * Redistribution and use in source and binary forms are permitted
9  * provided that the above copyright notice and this paragraph are
10  * duplicated in all such forms and that any documentation,
11  * advertising materials, and other materials related to such
12  * distribution and use acknowledge that the software was developed
13  * by the University of California, Berkeley.  The name of the
14  * University may not be used to endorse or promote products derived
15  * from this software without specific prior written permission.
16  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19  */
20 
21 #ifndef lint
22 static char sccsid[] = "@(#)lstForEach.c	5.2 (Berkeley) 03/11/90";
23 #endif /* not lint */
24 
25 /*-
26  * LstForeach.c --
27  *	Perform a given function on all elements of a list.
28  */
29 
30 #include	"lstInt.h"
31 
32 /*-
33  *-----------------------------------------------------------------------
34  * Lst_ForEach --
35  *	Apply the given function to each element of the given list. The
36  *	function should return 0 if Lst_ForEach should continue and non-
37  *	zero if it should abort.
38  *
39  * Results:
40  *	None.
41  *
42  * Side Effects:
43  *	Only those created by the passed-in function.
44  *
45  *-----------------------------------------------------------------------
46  */
47 /*VARARGS2*/
48 void
49 Lst_ForEach (l, proc, d)
50     Lst	    	  	l;
51     register int	(*proc)();
52     register ClientData	d;
53 {
54     Lst_ForEachFrom(l, Lst_First(l), proc, d);
55 }
56 
57